defineSeed(6, 1, makeCastMap([Q$RunAsyncCallback]));
_.onSuccess = function onSuccess(){
  !this.this$0.createARPageView && (this.this$0.createARPageView = new CreateARPageView_0);
  $go(new CreateArPagePresenter_0(this.this$0.rpcService, this.this$0.eventBus, this.this$0.createARPageView), this.this$0.contentPanel);
}
;
function $addARPage(this$static, publicationId, pageNumber, callback){
  var $e0, helper, streamWriter;
  helper = new RemoteServiceProxy$ServiceHelper_0(this$static, 'addARPage');
  try {
    streamWriter = $start(helper, 2);
    $writeInt(streamWriter, $addString(streamWriter, 'I'));
    $writeInt(streamWriter, $addString(streamWriter, 'I'));
    append_0(streamWriter.encodeBuffer, '' + publicationId);
    append_0(streamWriter.encodeBuffer, '' + pageNumber);
    $finish_0(helper, callback, ($clinit_RequestCallbackAdapter$ResponseReader() , INT));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, Q$SerializationException))
      throw $e0;
  }
}

function $addPublication(this$static, paperId, publishedDate, callback){
  var $e0, helper, streamWriter;
  helper = new RemoteServiceProxy$ServiceHelper_0(this$static, 'addPublication');
  try {
    streamWriter = $start(helper, 3);
    $writeInt(streamWriter, $addString(streamWriter, 'I'));
    $writeInt(streamWriter, $addString(streamWriter, 'java.sql.Date/730999118'));
    $writeInt(streamWriter, $addString(streamWriter, 'java.lang.String/2004016611'));
    append_0(streamWriter.encodeBuffer, '' + paperId);
    $writeObject(streamWriter, publishedDate);
    $writeInt(streamWriter, $addString(streamWriter, 'Dummy'));
    $finish_0(helper, callback, ($clinit_RequestCallbackAdapter$ResponseReader() , INT));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, Q$SerializationException))
      throw $e0;
  }
}

function $getPapers(this$static, callback){
  var $e0, helper, streamWriter;
  helper = new RemoteServiceProxy$ServiceHelper_0(this$static, 'getPapers');
  try {
    streamWriter = $start(helper, 1);
    $writeInt(streamWriter, $addString(streamWriter, 'I'));
    $append_1(streamWriter, '1');
    $finish_0(helper, callback, ($clinit_RequestCallbackAdapter$ResponseReader() , OBJECT));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (!instanceOf($e0, Q$SerializationException))
      throw $e0;
  }
}

function GotoPageTaggerEvent_0(){
  $clinit_GotoPageTaggerEvent();
}

defineSeed(27, 28, {}, GotoPageTaggerEvent_0);
_.dispatch = function dispatch(handler){
  dynamicCast(handler, Q$GotoPageTaggerEventHandler);
  $clinit_History();
  !!impl_0 && $newItem(impl_0, 'Tag');
}
;
_.getAssociatedType = function getAssociatedType(){
  return TYPE;
}
;
function $createARPage(this$static, paperId, dt, pageNo){
  $addPublication(this$static.rpcService, paperId, dt, new CreateArPagePresenter$2_0(this$static, pageNo));
}

function $go(this$static, container){
  var callback;
  $clear_0(container);
  $add_1(container, this$static.view);
  callback = new CreateArPagePresenter$1_0(this$static);
  $getPapers(this$static.rpcService, callback);
}

function CreateArPagePresenter_0(rpcService, eventBus, createARPageView){
  this.rpcService = rpcService;
  this.eventBus = eventBus;
  this.view = createARPageView;
  this.view.presenter = this;
}

defineSeed(31, 1, {}, CreateArPagePresenter_0);
_.eventBus = null;
_.rpcService = null;
_.view = null;
function $onSuccess(this$static, result){
  $setPapers(this$static.this$0.view, result);
}

function CreateArPagePresenter$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(32, 1, {}, CreateArPagePresenter$1_0);
_.onFailure = function onFailure_1(caught){
}
;
_.onSuccess_0 = function onSuccess_1(result){
  $onSuccess(this, dynamicCast(result, Q$Paper_$1));
}
;
_.this$0 = null;
function $onSuccess_0(this$static, publicationId){
  $addARPage(this$static.this$0.rpcService, publicationId.value_0, this$static.val$pageNo, new CreateArPagePresenter$2$1_0(this$static));
}

function CreateArPagePresenter$2_0(this$0, val$pageNo){
  this.this$0 = this$0;
  this.val$pageNo = val$pageNo;
}

defineSeed(33, 1, {}, CreateArPagePresenter$2_0);
_.onFailure = function onFailure_2(caught){
}
;
_.onSuccess_0 = function onSuccess_2(publicationId){
  $onSuccess_0(this, dynamicCast(publicationId, Q$Integer));
}
;
_.this$0 = null;
_.val$pageNo = 0;
function $onSuccess_1(this$static, arPageId){
  $setImage(this$static.this$1.this$0.view, '/paperazi/httpservices?service=getQRCode&arPageId=' + arPageId);
}

function CreateArPagePresenter$2$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(34, 1, {}, CreateArPagePresenter$2$1_0);
_.onFailure = function onFailure_3(caught){
}
;
_.onSuccess_0 = function onSuccess_3(arPageId){
  $onSuccess_1(this, dynamicCast(arPageId, Q$Integer));
}
;
_.this$1 = null;
function $addStyleDependentName(this$static, styleSuffix){
  $setStyleName_0(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix, true);
}

function $removeStyleDependentName(this$static, styleSuffix){
  $setStyleName_0(this$static, getStylePrimaryName(this$static.element) + '-' + styleSuffix, false);
}

function $replaceNode(node, newNode){
  var p = node.parentNode;
  if (!p) {
    return;
  }
  p.insertBefore(newNode, node);
  p.removeChild(node);
}

function $setStyleName_0(this$static, style, add){
  setStyleName(this$static.element, style, add);
}

function $setVisible(this$static, visible){
  setVisible(this$static.element, visible);
}

function getStylePrimaryName(elem){
  var fullClassName, spaceIdx;
  fullClassName = $getPropertyString(elem, 'className');
  spaceIdx = $indexOf_0(fullClassName, fromCodePoint(32));
  if (spaceIdx >= 0) {
    return fullClassName.substr(0, spaceIdx - 0);
  }
  return fullClassName;
}

defineSeed(41, 1, makeCastMap([Q$HasVisibility, Q$UIObject]));
_.setHeight = function setHeight(height){
  setStyleAttribute(this.element, 'height', height);
}
;
_.setWidth = function setWidth(width){
  setStyleAttribute(this.element, 'width', width);
}
;
function $addHandler(this$static, handler, type){
  return $addHandler_0(!this$static.handlerManager?(this$static.handlerManager = new HandlerManager_0(this$static)):this$static.handlerManager, type, handler);
}

function $replaceElement(this$static, elem){
  this$static.attached && (this$static.element.__listener = null , undefined);
  !!this$static.element && $replaceNode(this$static.element, elem);
  this$static.element = elem;
  this$static.attached && $setEventListener(this$static.element, this$static);
}

function $onCreateArClick(this$static){
  var date, dt, paperId, selIndex, t;
  selIndex = this$static.lstPapers.element.selectedIndex;
  paperId = __parseAndValidateInt($getValue(this$static.lstPapers, selIndex));
  date = $parseDate(this$static.dtDate, true);
  t = fromDouble(date.jsdate.getTime());
  dt = new Date_6(t);
  $createARPage(this$static.presenter, paperId, dt, __parseAndValidateInt($getPropertyString(this$static.txtPage.element, 'value')));
}

function $setImage(this$static, string){
  $setVisible(this$static.cpPanelQr, true);
  $setVisible(this$static.btnNext, true);
  $setUrl(this$static.imgQr, ($clinit_UriUtils() , new SafeUriString_0(string)));
}

function $setPapers(this$static, result){
  var i;
  this$static.lstPapers.element.options.length = 0;
  for (i = 0; i < result.length; ++i) {
    $insertItem(this$static.lstPapers, result[i].name_0, '' + result[i].id, -1);
  }
}

function CreateARPageView_0(){
  $initWidget(this, $build_f_HTMLPanel1(new CreateARPageView_CreateARPageUiBinderImpl$Widgets_0(this)));
  $setVisible(this.cpPanelQr, false);
  $setVisible(this.btnNext, false);
}

defineSeed(43, 39, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), CreateARPageView_0);
_.btnNext = null;
_.cpPanelQr = null;
_.dtDate = null;
_.imgQr = null;
_.lstPapers = null;
_.presenter = null;
_.txtPage = null;
function $build_f_HTMLPanel1(this$static){
  var attachRecord1, f_HTMLPanel1, f_VerticalPanel2, f_HorizontalPanel3, f_CaptionPanel4, f_VerticalPanel5, cpPanelQr, imgQr, btnNext, sb, f_HorizontalPanel6, f_Label7, lstPapers, f_HorizontalPanel8, f_Label9, dtDate, f_HorizontalPanel10, f_Label11, txtPage, btnCreateARPage, sb_0;
  f_HTMLPanel1 = new HTMLPanel_0($html3(this$static.domId0).html);
  attachRecord1 = attachToDom(f_HTMLPanel1.element);
  $get_0(this$static.domId0Element);
  attachRecord1.origParent?$insertBefore(attachRecord1.origParent, attachRecord1.element, attachRecord1.origSibling):orphan(attachRecord1.element);
  $addAndReplaceElement(f_HTMLPanel1, (f_VerticalPanel2 = new VerticalPanel_0 , $add_5(f_VerticalPanel2, (f_HorizontalPanel3 = new HorizontalPanel_0 , $add_3(f_HorizontalPanel3, (f_CaptionPanel4 = new CaptionPanel_0 , $add_2(f_CaptionPanel4, (f_VerticalPanel5 = new VerticalPanel_0 , $add_5(f_VerticalPanel5, (f_HorizontalPanel6 = new HorizontalPanel_0 , $add_3(f_HorizontalPanel6, (f_Label7 = new Label_0 , $setTextOrHtml(f_Label7.directionalTextHelper, 'Paper') , setStyleName(f_Label7.element, 'GJV0-WTBJI', true) , f_Label7)) , $add_3(f_HorizontalPanel6, (lstPapers = new ListBox_0 , setStyleName(lstPapers.element, 'GJV0-WTBJI', true) , this$static.owner.lstPapers = lstPapers , lstPapers)) , f_HorizontalPanel6)) , $add_5(f_VerticalPanel5, (f_HorizontalPanel8 = new HorizontalPanel_0 , $add_3(f_HorizontalPanel8, (f_Label9 = new Label_0 , $setTextOrHtml(f_Label9.directionalTextHelper, 'Date') , setStyleName(f_Label9.element, 'GJV0-WTBJI', true) , f_Label9)) , $add_3(f_HorizontalPanel8, (dtDate = new DateBox_0 , setStyleName(dtDate.element, 'GJV0-WTBJI', true) , this$static.owner.dtDate = dtDate , dtDate)) , f_HorizontalPanel8)) , $add_5(f_VerticalPanel5, (f_HorizontalPanel10 = new HorizontalPanel_0 , $add_3(f_HorizontalPanel10, (f_Label11 = new Label_0 , $setTextOrHtml(f_Label11.directionalTextHelper, 'Page') , setStyleName(f_Label11.element, 'GJV0-WTBJI', true) , f_Label11)) , $add_3(f_HorizontalPanel10, (txtPage = new TextBox_0 , setStyleName(txtPage.element, 'GJV0-WTBJI', true) , this$static.owner.txtPage = txtPage , txtPage)) , f_HorizontalPanel10)) , $add_5(f_VerticalPanel5, (btnCreateARPage = new Button_0 , $setHTML(btnCreateARPage, (sb_0 = new StringBuilder_0 , $append_0(sb_0.data, 'Create AR Page') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0($toString(sb_0.data))).html) , setStyleName(btnCreateARPage.element, 'GJV0-WTBJI', true) , setStyleName(btnCreateARPage.element, 'GJV0-WTBLI', true) , $addDomHandler(btnCreateARPage, this$static.handlerMethodWithNameVeryUnlikelyToCollideWithUserFieldNames2, ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_2)) , btnCreateARPage)) , f_VerticalPanel5)) , $setCaption(f_CaptionPanel4.element, f_CaptionPanel4.legend, 'Select Page to Augment') , f_CaptionPanel4.element.style['height'] = '12em' , f_CaptionPanel4)) , $add_3(f_HorizontalPanel3, (cpPanelQr = new CaptionPanel_0 , $add_2(cpPanelQr, (imgQr = new Image_1 , imgQr.element.style['width'] = '10em' , this$static.owner.imgQr = imgQr , imgQr)) , $setCaption(cpPanelQr.element, cpPanelQr.legend, 'Image of the QR Code') , cpPanelQr.element.style['height'] = '12em' , this$static.owner.cpPanelQr = cpPanelQr , cpPanelQr)) , f_HorizontalPanel3)) , $add_5(f_VerticalPanel2, (btnNext = new Button_0 , $setHTML(btnNext, (sb = new StringBuilder_0 , $append_0(sb.data, 'Next') , new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0($toString(sb.data))).html) , setStyleName(btnNext.element, 'GJV0-WTBJI', true) , setStyleName(btnNext.element, 'GJV0-WTBLI', true) , $addDomHandler(btnNext, this$static.handlerMethodWithNameVeryUnlikelyToCollideWithUserFieldNames1, TYPE_2) , this$static.owner.btnNext = btnNext , btnNext)) , f_VerticalPanel2), $get_0(this$static.domId0Element));
  return f_HTMLPanel1;
}

function CreateARPageView_CreateARPageUiBinderImpl$Widgets_0(owner){
  this.handlerMethodWithNameVeryUnlikelyToCollideWithUserFieldNames1 = new CreateARPageView_CreateARPageUiBinderImpl$Widgets$1_0(this);
  this.handlerMethodWithNameVeryUnlikelyToCollideWithUserFieldNames2 = new CreateARPageView_CreateARPageUiBinderImpl$Widgets$2_0(this);
  this.owner = owner;
  this.style_0 = (new CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator_0 , $clinit_CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$styleInitializer() , style_0);
  $ensureInjected(this.style_0);
  this.domId0 = $createUniqueId($doc);
  this.domId0Element = new LazyDomElement_0(this.domId0);
}

defineSeed(44, 1, {}, CreateARPageView_CreateARPageUiBinderImpl$Widgets_0);
_.domId0 = null;
_.domId0Element = null;
_.owner = null;
_.style_0 = null;
function CreateARPageView_CreateARPageUiBinderImpl$Widgets$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(45, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), CreateARPageView_CreateARPageUiBinderImpl$Widgets$1_0);
_.onClick = function onClick_0(event_0){
  $fireEvent_0(this.this$1.owner.presenter.eventBus, new GotoPageTaggerEvent_0);
}
;
_.this$1 = null;
function CreateARPageView_CreateARPageUiBinderImpl$Widgets$2_0(this$1){
  this.this$1 = this$1;
}

defineSeed(46, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), CreateARPageView_CreateARPageUiBinderImpl$Widgets$2_0);
_.onClick = function onClick_1(event_0){
  $onCreateArClick(this.this$1.owner);
}
;
_.this$1 = null;
function CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator_0(){
}

defineSeed(47, 1, {}, CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator_0);
var style_0 = null;
function $ensureInjected(this$static){
  if (!this$static.injected) {
    this$static.injected = true;
    inject(($clinit_LocaleInfo() , '.GJV0-WTBKI{font-weight:bold;}.GJV0-WTBJI{width:10em;margin:4px;}.GJV0-WTBII{border-style:solid;border-width:1px;}.GJV0-WTBLI{float:right;}'));
    return true;
  }
  return false;
}

function CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1_0(){
}

defineSeed(48, 1, {}, CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1_0);
_.injected = false;
function $clinit_CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$styleInitializer(){
  $clinit_CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$styleInitializer = nullMethod;
  style_0 = new CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1_0;
}

function $html3(arg0){
  var sb;
  sb = new StringBuilder_0;
  $append_0(sb.data, "<span id='");
  $append_4(sb, htmlEscape(arg0));
  $append_0(sb.data, "'><\/span>");
  return new OnlyToBeUsedInGeneratedCodeStringBlessedAsSafeHtml_0($toString(sb.data));
}

function $cancel(this$static){
  if (!this$static.isRunning) {
    return;
  }
  this$static.wasStarted = this$static.isStarted;
  this$static.isRunning = false;
  this$static.isStarted = false;
  if (this$static.requestHandle) {
    $cancel_1(this$static.requestHandle);
    this$static.requestHandle = null;
  }
  this$static.wasStarted && $onComplete(this$static);
}

function $update(this$static, curTime){
  var finished, progress;
  finished = curTime >= -2;
  if (this$static.isStarted && !finished) {
    progress = -(curTime - -1);
    $onUpdate(this$static, (1 + Math.cos(3.141592653589793 + progress * 3.141592653589793)) / 2);
    return this$static.isRunning;
  }
  if (!this$static.isStarted && curTime >= -1) {
    this$static.isStarted = true;
    this$static.offsetHeight = $getPropertyInt(this$static.curPanel.element, 'offsetHeight');
    this$static.offsetWidth = $getPropertyInt(this$static.curPanel.element, 'offsetWidth');
    this$static.curPanel.element.style['overflow'] = 'hidden';
    $onUpdate(this$static, (1 + Math.cos(3.141592653589793)) / 2);
    if (!this$static.isRunning) {
      return false;
    }
  }
  if (finished) {
    this$static.isRunning = false;
    this$static.isStarted = false;
    $onComplete(this$static);
    return false;
  }
  return true;
}

function Animation_0(scheduler){
  this.callback = new Animation$1_0(this);
  this.scheduler = scheduler;
}

defineSeed(65, 1, {});
_.isRunning = false;
_.isStarted = false;
_.requestHandle = null;
_.scheduler = null;
_.wasStarted = false;
function $execute(this$static, timestamp){
  $update(this$static.this$0, timestamp)?(this$static.this$0.requestHandle = $requestAnimationFrame(this$static.this$0.scheduler, this$static.this$0.callback)):(this$static.this$0.requestHandle = null);
}

function Animation$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(66, 1, {}, Animation$1_0);
_.this$0 = null;
defineSeed(67, 1, {});
defineSeed(68, 1, makeCastMap([Q$AnimationScheduler$AnimationHandle]));
function $clinit_AnimationSchedulerImpl(){
  $clinit_AnimationSchedulerImpl = nullMethod;
  var impl;
  impl = new AnimationSchedulerImplTimer_0;
  INSTANCE = impl;
}

defineSeed(69, 67, {});
var INSTANCE = null;
function $cancelAnimationFrame(this$static, requestId){
  $remove_11(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 0 && $cancel_0(this$static.timer);
}

function $requestAnimationFrame(this$static, callback){
  var requestId;
  requestId = new AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$static, callback);
  $add_7(this$static.animationRequests, requestId);
  this$static.animationRequests.size_0 == 1 && $schedule(this$static.timer, 16);
  return requestId;
}

function $updateAnimations(this$static){
  var curAnimations, duration, requestId, requestId$index, requestId$max;
  curAnimations = initDim(_3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit, makeCastMap([Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1, Q$Serializable, Q$Object_$1]), Q$AnimationSchedulerImplTimer$AnimationHandleImpl, this$static.animationRequests.size_0, 0);
  curAnimations = dynamicCast($toArray(this$static.animationRequests, curAnimations), Q$AnimationSchedulerImplTimer$AnimationHandleImpl_$1);
  duration = new Duration_0;
  for (requestId$index = 0 , requestId$max = curAnimations.length; requestId$index < requestId$max; ++requestId$index) {
    requestId = curAnimations[requestId$index];
    $remove_11(this$static.animationRequests, requestId);
    $execute(requestId.callback, duration.start);
  }
  this$static.animationRequests.size_0 > 0 && $schedule(this$static.timer, max(16 - (currentTimeMillis() - duration.start)));
}

function AnimationSchedulerImplTimer_0(){
  this.animationRequests = new ArrayList_0;
  this.timer = new AnimationSchedulerImplTimer$1_0(this);
}

defineSeed(70, 69, {}, AnimationSchedulerImplTimer_0);
function AnimationSchedulerImplTimer$1_0(this$0){
  $clinit_Timer();
  this.this$0 = this$0;
}

defineSeed(71, 72, makeCastMap([Q$Timer]), AnimationSchedulerImplTimer$1_0);
_.run = function run(){
  $updateAnimations(this.this$0);
}
;
_.this$0 = null;
function $cancel_1(this$static){
  $cancelAnimationFrame(this$static.this$0, this$static);
}

function AnimationSchedulerImplTimer$AnimationHandleImpl_0(this$0, callback){
  this.this$0 = this$0;
  this.callback = callback;
}

defineSeed(73, 68, makeCastMap([Q$AnimationScheduler$AnimationHandle, Q$AnimationSchedulerImplTimer$AnimationHandleImpl]), AnimationSchedulerImplTimer$AnimationHandleImpl_0);
_.callback = null;
_.this$0 = null;
function $set(this$static, element){
  $setAttribute(element, 'role', this$static.roleName);
}

defineSeed(75, 1, {});
_.roleName = null;
function AlertRoleImpl_0(){
  this.roleName = 'alert';
}

defineSeed(74, 75, {}, AlertRoleImpl_0);
function AlertdialogRoleImpl_0(){
  this.roleName = 'alertdialog';
}

defineSeed(76, 75, {}, AlertdialogRoleImpl_0);
function ApplicationRoleImpl_0(){
  this.roleName = 'application';
}

defineSeed(77, 75, {}, ApplicationRoleImpl_0);
function $getAriaValue(value){
  var buf, item, item$index, item$max;
  buf = new StringBuffer_0;
  for (item$index = 0 , item$max = value.length; item$index < item$max; ++item$index) {
    item = value[item$index];
    $append_2($append_2(buf, dynamicCast(item, Q$AriaAttributeType).getAriaValue()), ' ');
  }
  return $trim($toString(buf.data));
}

function $set_0(this$static, element, values){
  $setAttribute(element, this$static.name_0, $getAriaValue(values));
}

defineSeed(79, 1, {});
_.name_0 = null;
function AriaValueAttribute_0(name_0){
  this.name_0 = name_0;
}

defineSeed(78, 79, {}, AriaValueAttribute_0);
function ArticleRoleImpl_0(){
  this.roleName = 'article';
}

defineSeed(80, 75, {}, ArticleRoleImpl_0);
function BannerRoleImpl_0(){
  this.roleName = 'banner';
}

defineSeed(81, 75, {}, BannerRoleImpl_0);
function $setAriaPressedState(element, value){
  $set_0(($clinit_State() , PRESSED), element, initValues(_3Lcom_google_gwt_aria_client_PressedValue_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$PressedValue, [value]));
}

function ButtonRoleImpl_0(){
  this.roleName = 'button';
}

defineSeed(82, 75, {}, ButtonRoleImpl_0);
function CheckboxRoleImpl_0(){
  this.roleName = 'checkbox';
}

defineSeed(83, 75, {}, CheckboxRoleImpl_0);
function ColumnheaderRoleImpl_0(){
  this.roleName = 'columnheader';
}

defineSeed(84, 75, {}, ColumnheaderRoleImpl_0);
function ComboboxRoleImpl_0(){
  this.roleName = 'combobox';
}

defineSeed(85, 75, {}, ComboboxRoleImpl_0);
function ComplementaryRoleImpl_0(){
  this.roleName = 'complementary';
}

defineSeed(86, 75, {}, ComplementaryRoleImpl_0);
function ContentinfoRoleImpl_0(){
  this.roleName = 'contentinfo';
}

defineSeed(87, 75, {}, ContentinfoRoleImpl_0);
function DefinitionRoleImpl_0(){
  this.roleName = 'definition';
}

defineSeed(88, 75, {}, DefinitionRoleImpl_0);
function DialogRoleImpl_0(){
  this.roleName = 'dialog';
}

defineSeed(89, 75, {}, DialogRoleImpl_0);
function DirectoryRoleImpl_0(){
  this.roleName = 'directory';
}

defineSeed(90, 75, {}, DirectoryRoleImpl_0);
function DocumentRoleImpl_0(){
  this.roleName = 'document';
}

defineSeed(91, 75, {}, DocumentRoleImpl_0);
function FormRoleImpl_0(){
  this.roleName = 'form';
}

defineSeed(92, 75, {}, FormRoleImpl_0);
function GridRoleImpl_0(){
  this.roleName = 'grid';
}

defineSeed(93, 75, {}, GridRoleImpl_0);
function $setAriaSelectedState(element, value){
  $set_0(($clinit_State() , SELECTED), element, initValues(_3Lcom_google_gwt_aria_client_SelectedValue_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$SelectedValue, [value]));
}

function GridcellRoleImpl_0(){
  this.roleName = 'gridcell';
}

defineSeed(94, 75, {}, GridcellRoleImpl_0);
function GroupRoleImpl_0(){
  this.roleName = 'group';
}

defineSeed(95, 75, {}, GroupRoleImpl_0);
function HeadingRoleImpl_0(){
  this.roleName = 'heading';
}

defineSeed(96, 75, {}, HeadingRoleImpl_0);
function ImgRoleImpl_0(){
  this.roleName = 'img';
}

defineSeed(97, 75, {}, ImgRoleImpl_0);
function LinkRoleImpl_0(){
  this.roleName = 'link';
}

defineSeed(98, 75, {}, LinkRoleImpl_0);
function ListRoleImpl_0(){
  this.roleName = 'list';
}

defineSeed(99, 75, {}, ListRoleImpl_0);
function ListboxRoleImpl_0(){
  this.roleName = 'listbox';
}

defineSeed(100, 75, {}, ListboxRoleImpl_0);
function ListitemRoleImpl_0(){
  this.roleName = 'listitem';
}

defineSeed(101, 75, {}, ListitemRoleImpl_0);
function LogRoleImpl_0(){
  this.roleName = 'log';
}

defineSeed(102, 75, {}, LogRoleImpl_0);
function MainRoleImpl_0(){
  this.roleName = 'main';
}

defineSeed(103, 75, {}, MainRoleImpl_0);
function MarqueeRoleImpl_0(){
  this.roleName = 'marquee';
}

defineSeed(104, 75, {}, MarqueeRoleImpl_0);
function MathRoleImpl_0(){
  this.roleName = 'math';
}

defineSeed(105, 75, {}, MathRoleImpl_0);
function MenuRoleImpl_0(){
  this.roleName = 'menu';
}

defineSeed(106, 75, {}, MenuRoleImpl_0);
function MenubarRoleImpl_0(){
  this.roleName = 'menubar';
}

defineSeed(107, 75, {}, MenubarRoleImpl_0);
function MenuitemRoleImpl_0(){
  this.roleName = 'menuitem';
}

defineSeed(108, 75, {}, MenuitemRoleImpl_0);
function MenuitemcheckboxRoleImpl_0(){
  this.roleName = 'menuitemcheckbox';
}

defineSeed(109, 75, {}, MenuitemcheckboxRoleImpl_0);
function MenuitemradioRoleImpl_0(){
  this.roleName = 'menuitemradio';
}

defineSeed(110, 75, {}, MenuitemradioRoleImpl_0);
function NavigationRoleImpl_0(){
  this.roleName = 'navigation';
}

defineSeed(111, 75, {}, NavigationRoleImpl_0);
function NoteRoleImpl_0(){
  this.roleName = 'note';
}

defineSeed(112, 75, {}, NoteRoleImpl_0);
function OptionRoleImpl_0(){
  this.roleName = 'option';
}

defineSeed(113, 75, {}, OptionRoleImpl_0);
function PresentationRoleImpl_0(){
  this.roleName = 'presentation';
}

defineSeed(114, 75, {}, PresentationRoleImpl_0);
function $clinit_PressedValue(){
  $clinit_PressedValue = nullMethod;
  TRUE = new PressedValue_0('TRUE', 0);
  FALSE = new PressedValue_0('FALSE', 1);
  MIXED = new PressedValue_0('MIXED', 2);
  UNDEFINED = new PressedValue_0('UNDEFINED', 3);
  $VALUES = initValues(_3Lcom_google_gwt_aria_client_PressedValue_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$PressedValue, [TRUE, FALSE, MIXED, UNDEFINED]);
}

function PressedValue_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_0(){
  $clinit_PressedValue();
  return $VALUES;
}

defineSeed(115, 116, makeCastMap([Q$AriaAttributeType, Q$PressedValue, Q$Serializable, Q$Comparable, Q$Enum]), PressedValue_0);
_.getAriaValue = function getAriaValue(){
  switch (this.ordinal) {
    case 0:
      return 'true';
    case 1:
      return 'false';
    case 2:
      return 'mixed';
    case 3:
      return 'undefined';
  }
  return null;
}
;
var $VALUES, FALSE, MIXED, TRUE, UNDEFINED;
function PrimitiveValueAttribute_0(name_0){
  this.name_0 = name_0;
}

defineSeed(117, 79, {}, PrimitiveValueAttribute_0);
function ProgressbarRoleImpl_0(){
  this.roleName = 'progressbar';
}

defineSeed(118, 75, {}, ProgressbarRoleImpl_0);
function RadioRoleImpl_0(){
  this.roleName = 'radio';
}

defineSeed(119, 75, {}, RadioRoleImpl_0);
function RadiogroupRoleImpl_0(){
  this.roleName = 'radiogroup';
}

defineSeed(120, 75, {}, RadiogroupRoleImpl_0);
function RegionRoleImpl_0(){
  this.roleName = 'region';
}

defineSeed(121, 75, {}, RegionRoleImpl_0);
function $clinit_Roles(){
  $clinit_Roles = nullMethod;
  ALERTDIALOG = new AlertdialogRoleImpl_0;
  ALERT = new AlertRoleImpl_0;
  APPLICATION = new ApplicationRoleImpl_0;
  ARTICLE = new ArticleRoleImpl_0;
  BANNER = new BannerRoleImpl_0;
  BUTTON = new ButtonRoleImpl_0;
  CHECKBOX = new CheckboxRoleImpl_0;
  COLUMNHEADER = new ColumnheaderRoleImpl_0;
  COMBOBOX = new ComboboxRoleImpl_0;
  COMPLEMENTARY = new ComplementaryRoleImpl_0;
  CONTENTINFO = new ContentinfoRoleImpl_0;
  DEFINITION = new DefinitionRoleImpl_0;
  DIALOG = new DialogRoleImpl_0;
  DIRECTORY = new DirectoryRoleImpl_0;
  DOCUMENT = new DocumentRoleImpl_0;
  FORM = new FormRoleImpl_0;
  GRIDCELL = new GridcellRoleImpl_0;
  GRID = new GridRoleImpl_0;
  GROUP = new GroupRoleImpl_0;
  HEADING = new HeadingRoleImpl_0;
  IMG = new ImgRoleImpl_0;
  LINK = new LinkRoleImpl_0;
  LISTBOX = new ListboxRoleImpl_0;
  LISTITEM = new ListitemRoleImpl_0;
  LIST = new ListRoleImpl_0;
  LOG = new LogRoleImpl_0;
  MAIN = new MainRoleImpl_0;
  MARQUEE = new MarqueeRoleImpl_0;
  MATH = new MathRoleImpl_0;
  MENUBAR = new MenubarRoleImpl_0;
  MENUITEMCHECKBOX = new MenuitemcheckboxRoleImpl_0;
  MENUITEMRADIO = new MenuitemradioRoleImpl_0;
  MENUITEM = new MenuitemRoleImpl_0;
  MENU = new MenuRoleImpl_0;
  NAVIGATION = new NavigationRoleImpl_0;
  NOTE = new NoteRoleImpl_0;
  OPTION = new OptionRoleImpl_0;
  PRESENTATION = new PresentationRoleImpl_0;
  PROGRESSBAR = new ProgressbarRoleImpl_0;
  RADIOGROUP = new RadiogroupRoleImpl_0;
  RADIO = new RadioRoleImpl_0;
  REGION = new RegionRoleImpl_0;
  ROWGROUP = new RowgroupRoleImpl_0;
  ROWHEADER = new RowheaderRoleImpl_0;
  ROW = new RowRoleImpl_0;
  SCROLLBAR = new ScrollbarRoleImpl_0;
  SEARCH = new SearchRoleImpl_0;
  SEPARATOR = new SeparatorRoleImpl_0;
  SLIDER = new SliderRoleImpl_0;
  SPINBUTTON = new SpinbuttonRoleImpl_0;
  STATUS = new StatusRoleImpl_0;
  TABLIST = new TablistRoleImpl_0;
  TABPANEL = new TabpanelRoleImpl_0;
  TAB = new TabRoleImpl_0;
  TEXTBOX = new TextboxRoleImpl_0;
  TIMER = new TimerRoleImpl_0;
  TOOLBAR = new ToolbarRoleImpl_0;
  TOOLTIP = new TooltipRoleImpl_0;
  TREEGRID = new TreegridRoleImpl_0;
  TREEITEM = new TreeitemRoleImpl_0;
  TREE = new TreeRoleImpl_0;
  ROLES_MAP = new HashMap_0;
  $put_0(ROLES_MAP, 'region', REGION);
  $put_0(ROLES_MAP, 'alert', ALERT);
  $put_0(ROLES_MAP, 'dialog', DIALOG);
  $put_0(ROLES_MAP, 'alertdialog', ALERTDIALOG);
  $put_0(ROLES_MAP, 'application', APPLICATION);
  $put_0(ROLES_MAP, 'document', DOCUMENT);
  $put_0(ROLES_MAP, 'article', ARTICLE);
  $put_0(ROLES_MAP, 'banner', BANNER);
  $put_0(ROLES_MAP, 'button', BUTTON);
  $put_0(ROLES_MAP, 'checkbox', CHECKBOX);
  $put_0(ROLES_MAP, 'gridcell', GRIDCELL);
  $put_0(ROLES_MAP, 'columnheader', COLUMNHEADER);
  $put_0(ROLES_MAP, 'group', GROUP);
  $put_0(ROLES_MAP, 'combobox', COMBOBOX);
  $put_0(ROLES_MAP, 'complementary', COMPLEMENTARY);
  $put_0(ROLES_MAP, 'contentinfo', CONTENTINFO);
  $put_0(ROLES_MAP, 'definition', DEFINITION);
  $put_0(ROLES_MAP, 'list', LIST);
  $put_0(ROLES_MAP, 'directory', DIRECTORY);
  $put_0(ROLES_MAP, 'form', FORM);
  $put_0(ROLES_MAP, 'grid', GRID);
  $put_0(ROLES_MAP, 'heading', HEADING);
  $put_0(ROLES_MAP, 'img', IMG);
  $put_0(ROLES_MAP, 'link', LINK);
  $put_0(ROLES_MAP, 'listbox', LISTBOX);
  $put_0(ROLES_MAP, 'listitem', LISTITEM);
  $put_0(ROLES_MAP, 'log', LOG);
  $put_0(ROLES_MAP, 'main', MAIN);
  $put_0(ROLES_MAP, 'marquee', MARQUEE);
  $put_0(ROLES_MAP, 'math', MATH);
  $put_0(ROLES_MAP, 'menu', MENU);
  $put_0(ROLES_MAP, 'menubar', MENUBAR);
  $put_0(ROLES_MAP, 'menuitem', MENUITEM);
  $put_0(ROLES_MAP, 'menuitemcheckbox', MENUITEMCHECKBOX);
  $put_0(ROLES_MAP, 'option', OPTION);
  $put_0(ROLES_MAP, 'radio', RADIO);
  $put_0(ROLES_MAP, 'menuitemradio', MENUITEMRADIO);
  $put_0(ROLES_MAP, 'navigation', NAVIGATION);
  $put_0(ROLES_MAP, 'note', NOTE);
  $put_0(ROLES_MAP, 'presentation', PRESENTATION);
  $put_0(ROLES_MAP, 'progressbar', PROGRESSBAR);
  $put_0(ROLES_MAP, 'radiogroup', RADIOGROUP);
  $put_0(ROLES_MAP, 'row', ROW);
  $put_0(ROLES_MAP, 'rowgroup', ROWGROUP);
  $put_0(ROLES_MAP, 'rowheader', ROWHEADER);
  $put_0(ROLES_MAP, 'search', SEARCH);
  $put_0(ROLES_MAP, 'separator', SEPARATOR);
  $put_0(ROLES_MAP, 'scrollbar', SCROLLBAR);
  $put_0(ROLES_MAP, 'slider', SLIDER);
  $put_0(ROLES_MAP, 'spinbutton', SPINBUTTON);
  $put_0(ROLES_MAP, 'status', STATUS);
  $put_0(ROLES_MAP, 'tab', TAB);
  $put_0(ROLES_MAP, 'tablist', TABLIST);
  $put_0(ROLES_MAP, 'tabpanel', TABPANEL);
  $put_0(ROLES_MAP, 'textbox', TEXTBOX);
  $put_0(ROLES_MAP, 'timer', TIMER);
  $put_0(ROLES_MAP, 'toolbar', TOOLBAR);
  $put_0(ROLES_MAP, 'tooltip', TOOLTIP);
  $put_0(ROLES_MAP, 'tree', TREE);
  $put_0(ROLES_MAP, 'treegrid', TREEGRID);
  $put_0(ROLES_MAP, 'treeitem', TREEITEM);
}

var ALERT, ALERTDIALOG, APPLICATION, ARTICLE, BANNER, BUTTON, CHECKBOX, COLUMNHEADER, COMBOBOX, COMPLEMENTARY, CONTENTINFO, DEFINITION, DIALOG, DIRECTORY, DOCUMENT, FORM, GRID, GRIDCELL, GROUP, HEADING, IMG, LINK, LIST, LISTBOX, LISTITEM, LOG, MAIN, MARQUEE, MATH, MENU, MENUBAR, MENUITEM, MENUITEMCHECKBOX, MENUITEMRADIO, NAVIGATION, NOTE, OPTION, PRESENTATION, PROGRESSBAR, RADIO, RADIOGROUP, REGION, ROLES_MAP, ROW, ROWGROUP, ROWHEADER, SCROLLBAR, SEARCH, SEPARATOR, SLIDER, SPINBUTTON, STATUS, TAB, TABLIST, TABPANEL, TEXTBOX, TIMER, TOOLBAR, TOOLTIP, TREE, TREEGRID, TREEITEM;
function RowRoleImpl_0(){
  this.roleName = 'row';
}

defineSeed(123, 75, {}, RowRoleImpl_0);
function RowgroupRoleImpl_0(){
  this.roleName = 'rowgroup';
}

defineSeed(124, 75, {}, RowgroupRoleImpl_0);
function RowheaderRoleImpl_0(){
  this.roleName = 'rowheader';
}

defineSeed(125, 75, {}, RowheaderRoleImpl_0);
function ScrollbarRoleImpl_0(){
  this.roleName = 'scrollbar';
}

defineSeed(126, 75, {}, ScrollbarRoleImpl_0);
function SearchRoleImpl_0(){
  this.roleName = 'search';
}

defineSeed(127, 75, {}, SearchRoleImpl_0);
function $clinit_SelectedValue(){
  $clinit_SelectedValue = nullMethod;
  TRUE_0 = new SelectedValue_0('TRUE', 0);
  FALSE_0 = new SelectedValue_0('FALSE', 1);
  UNDEFINED_0 = new SelectedValue_0('UNDEFINED', 2);
  $VALUES_0 = initValues(_3Lcom_google_gwt_aria_client_SelectedValue_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$SelectedValue, [TRUE_0, FALSE_0, UNDEFINED_0]);
}

function SelectedValue_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_1(){
  $clinit_SelectedValue();
  return $VALUES_0;
}

defineSeed(128, 116, makeCastMap([Q$AriaAttributeType, Q$SelectedValue, Q$Serializable, Q$Comparable, Q$Enum]), SelectedValue_0);
_.getAriaValue = function getAriaValue_0(){
  switch (this.ordinal) {
    case 0:
      return 'true';
    case 1:
      return 'false';
    case 2:
      return 'undefined';
  }
  return null;
}
;
var $VALUES_0, FALSE_0, TRUE_0, UNDEFINED_0;
function SeparatorRoleImpl_0(){
  this.roleName = 'separator';
}

defineSeed(129, 75, {}, SeparatorRoleImpl_0);
function SliderRoleImpl_0(){
  this.roleName = 'slider';
}

defineSeed(130, 75, {}, SliderRoleImpl_0);
function SpinbuttonRoleImpl_0(){
  this.roleName = 'spinbutton';
}

defineSeed(131, 75, {}, SpinbuttonRoleImpl_0);
function $clinit_State(){
  $clinit_State = nullMethod;
  new PrimitiveValueAttribute_0('aria-busy');
  new AriaValueAttribute_0('aria-checked');
  new PrimitiveValueAttribute_0('aria-disabled');
  new AriaValueAttribute_0('aria-expanded');
  new AriaValueAttribute_0('aria-grabbed');
  new PrimitiveValueAttribute_0('aria-hidden');
  new AriaValueAttribute_0('aria-invalid');
  PRESSED = new AriaValueAttribute_0('aria-pressed');
  SELECTED = new AriaValueAttribute_0('aria-selected');
}

var PRESSED, SELECTED;
function StatusRoleImpl_0(){
  this.roleName = 'status';
}

defineSeed(133, 75, {}, StatusRoleImpl_0);
function TabRoleImpl_0(){
  this.roleName = 'tab';
}

defineSeed(134, 75, {}, TabRoleImpl_0);
function TablistRoleImpl_0(){
  this.roleName = 'tablist';
}

defineSeed(135, 75, {}, TablistRoleImpl_0);
function TabpanelRoleImpl_0(){
  this.roleName = 'tabpanel';
}

defineSeed(136, 75, {}, TabpanelRoleImpl_0);
function TextboxRoleImpl_0(){
  this.roleName = 'textbox';
}

defineSeed(137, 75, {}, TextboxRoleImpl_0);
function TimerRoleImpl_0(){
  this.roleName = 'timer';
}

defineSeed(138, 75, {}, TimerRoleImpl_0);
function ToolbarRoleImpl_0(){
  this.roleName = 'toolbar';
}

defineSeed(139, 75, {}, ToolbarRoleImpl_0);
function TooltipRoleImpl_0(){
  this.roleName = 'tooltip';
}

defineSeed(140, 75, {}, TooltipRoleImpl_0);
function TreeRoleImpl_0(){
  this.roleName = 'tree';
}

defineSeed(141, 75, {}, TreeRoleImpl_0);
function TreegridRoleImpl_0(){
  this.roleName = 'treegrid';
}

defineSeed(142, 75, {}, TreegridRoleImpl_0);
function TreeitemRoleImpl_0(){
  this.roleName = 'treeitem';
}

defineSeed(143, 75, {}, TreeitemRoleImpl_0);
function Duration_0(){
  this.start = currentTimeMillis();
}

defineSeed(144, 1, {}, Duration_0);
function $setDate(this$static, dayOfMonth){
  this$static.setDate(dayOfMonth);
  return this$static.getTime();
}

function $setFullYear(this$static, year){
  this$static.setFullYear(year);
  return this$static.getTime();
}

function $setFullYear_0(this$static, year, month, day){
  this$static.setFullYear(year, month, day);
  return this$static.getTime();
}

function $setHours(this$static, hours){
  this$static.setHours(hours);
  return this$static.getTime();
}

function $setHours_0(this$static, hours, mins, secs, ms){
  this$static.setHours(hours, mins, secs, ms);
  return this$static.getTime();
}

function $setMinutes(this$static, minutes){
  this$static.setMinutes(minutes);
  return this$static.getTime();
}

function $setMonth(this$static, month){
  this$static.setMonth(month);
  return this$static.getTime();
}

function $setSeconds(this$static, seconds){
  this$static.setSeconds(seconds);
  return this$static.getTime();
}

function $setTime(this$static, milliseconds){
  this$static.setTime(milliseconds);
  return this$static.getTime();
}

function create(milliseconds){
  return new Date(milliseconds);
}

function create_0(year, month, dayOfMonth, hours, minutes, seconds, millis){
  return new Date(year, month, dayOfMonth, hours, minutes, seconds, millis);
}

function $flushPostEventPumpCommands(this$static){
  var oldDeferred;
  if (this$static.deferredCommands) {
    oldDeferred = this$static.deferredCommands;
    this$static.deferredCommands = null;
    !this$static.incrementalCommands && (this$static.incrementalCommands = []);
    runScheduledTasks(oldDeferred, this$static.incrementalCommands);
  }
  !!this$static.incrementalCommands && (this$static.incrementalCommands = runRepeatingTasks(this$static.incrementalCommands));
}

function $isWorkQueued(this$static){
  return !!this$static.deferredCommands || !!this$static.incrementalCommands;
}

function $maybeSchedulePostEventPumpCommands(this$static){
  if (!this$static.shouldBeRunning) {
    this$static.shouldBeRunning = true;
    !this$static.flusher && (this$static.flusher = new SchedulerImpl$Flusher_0(this$static));
    scheduleFixedDelayImpl(this$static.flusher, 1);
    !this$static.rescue && (this$static.rescue = new SchedulerImpl$Rescuer_0(this$static));
    scheduleFixedDelayImpl(this$static.rescue, 50);
  }
}

function $scheduleDeferred(this$static, cmd){
  this$static.deferredCommands = push(this$static.deferredCommands, [cmd, false]);
  $maybeSchedulePostEventPumpCommands(this$static);
}

function execute(cmd){
  return cmd.execute();
}

function runRepeatingTasks(tasks){
  var canceledSomeTasks, i, length_0, newTasks, start, t;
  length_0 = tasks.length;
  if (length_0 == 0) {
    return null;
  }
  canceledSomeTasks = false;
  start = currentTimeMillis();
  while (currentTimeMillis() - start < 100) {
    for (i = 0; i < length_0; ++i) {
      t = tasks[i];
      if (!t) {
        continue;
      }
      if (!t[0].execute()) {
        tasks[i] = null;
        canceledSomeTasks = true;
      }
    }
  }
  if (canceledSomeTasks) {
    newTasks = [];
    for (i = 0; i < length_0; ++i) {
      !!tasks[i] && (newTasks[newTasks.length] = tasks[i] , undefined);
    }
    return newTasks.length == 0?null:newTasks;
  }
   else {
    return tasks;
  }
}

function scheduleFixedDelayImpl(cmd, delayMs){
  $clinit_SchedulerImpl();
  $wnd.setTimeout(function(){
    var ret = $entry(execute)(cmd);
    ret && $wnd.setTimeout(arguments.callee, delayMs);
  }
  , delayMs);
}

function SchedulerImpl$Flusher_0(this$0){
  this.this$0 = this$0;
}

defineSeed(167, 1, {}, SchedulerImpl$Flusher_0);
_.execute = function execute_0(){
  this.this$0.flushRunning = true;
  $flushPostEventPumpCommands(this.this$0);
  this.this$0.flushRunning = false;
  return this.this$0.shouldBeRunning = $isWorkQueued(this.this$0);
}
;
_.this$0 = null;
function SchedulerImpl$Rescuer_0(this$0){
  this.this$0 = this$0;
}

defineSeed(168, 1, {}, SchedulerImpl$Rescuer_0);
_.execute = function execute_1(){
  this.this$0.flushRunning && scheduleFixedDelayImpl(this.this$0.flusher, 1);
  return this.this$0.shouldBeRunning;
}
;
_.this$0 = null;
function $append(a, x){
  a[a.explicitLength++] = x;
}

function $replace(a, end){
  var s;
  s = $takeString(a);
  $appendNonNull(a, s.substr(0, 0 - 0));
  $appendNonNull(a, '');
  $appendNonNull(a, $substring(s, end));
}

function is(o){
  try {
    return !!o && !!o.nodeType;
  }
   catch (e) {
    return false;
  }
}

function $getPropertyInt(this$static, name_0){
  return parseInt(this$static[name_0]) || 0;
}

function $setAttribute(this$static, name_0, value){
  this$static.setAttribute(name_0, value);
}

function is_0(o){
  if (is(o)) {
    return !!o && o.nodeType == 1;
  }
  return false;
}

function $imgSetSrc(img, src){
  img.src = src;
}

function $dispatchEvent(target, evt){
  target.fireEvent('on' + evt.type, evt);
}

function $getBoundingClientRectLeft(elem){
  try {
    return elem.getBoundingClientRect().left;
  }
   catch (e) {
    return 0;
  }
}

function $getBoundingClientRectTop(elem){
  try {
    return elem.getBoundingClientRect().top;
  }
   catch (e) {
    return 0;
  }
}

function $selectAdd(select, option, before){
  before?select.add(option, before.index):select.add(option);
}

function $getAbsoluteLeft(elem){
  var doc;
  doc = elem.ownerDocument;
  return $getBoundingClientRectLeft(elem) + $getScrollLeft($equals(doc.compatMode, 'CSS1Compat')?doc.documentElement:doc.body);
}

function $getAbsoluteTop(elem){
  var doc;
  doc = elem.ownerDocument;
  return $getBoundingClientRectTop(elem) + (($equals(doc.compatMode, 'CSS1Compat')?doc.documentElement:doc.body).scrollTop || 0);
}

function $getScrollLeft(elem){
  if (elem.currentStyle.direction == 'rtl') {
    return -(elem.scrollLeft || 0);
  }
  return elem.scrollLeft || 0;
}

function $getBodyOffsetLeft(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientLeft;
}

function $getBodyOffsetTop(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientTop;
}

function $getClientHeight(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientHeight;
}

function $getClientWidth(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).clientWidth;
}

function $getScrollHeight(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollHeight || 0;
}

function $getScrollLeft_0(this$static){
  return $getScrollLeft($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body);
}

function $getScrollTop(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollTop || 0;
}

function $getScrollWidth(this$static){
  return ($equals(this$static.compatMode, 'CSS1Compat')?this$static.documentElement:this$static.body).scrollWidth || 0;
}

function $clinit_Style$Display(){
  $clinit_Style$Display = nullMethod;
  NONE = new Style$Display$1_0;
  BLOCK = new Style$Display$2_0;
  INLINE = new Style$Display$3_0;
  INLINE_BLOCK = new Style$Display$4_0;
  $VALUES_1 = initValues(_3Lcom_google_gwt_dom_client_Style$Display_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Display, [NONE, BLOCK, INLINE, INLINE_BLOCK]);
}

function values_2(){
  $clinit_Style$Display();
  return $VALUES_1;
}

defineSeed(194, 116, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_1, BLOCK, INLINE, INLINE_BLOCK, NONE;
function Style$Display$1_0(){
  Enum_0.call(this, 'NONE', 0);
}

defineSeed(195, 194, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$1_0);
function Style$Display$2_0(){
  Enum_0.call(this, 'BLOCK', 1);
}

defineSeed(196, 194, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$2_0);
function Style$Display$3_0(){
  Enum_0.call(this, 'INLINE', 2);
}

defineSeed(197, 194, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$3_0);
function Style$Display$4_0(){
  Enum_0.call(this, 'INLINE_BLOCK', 3);
}

defineSeed(198, 194, makeCastMap([Q$Style$Display, Q$Style$HasCssName, Q$Serializable, Q$Comparable, Q$Enum]), Style$Display$4_0);
function $clinit_Style$Unit(){
  $clinit_Style$Unit = nullMethod;
  PX = new Style$Unit$1_0;
  PCT = new Style$Unit$2_0;
  EM = new Style$Unit$3_0;
  EX = new Style$Unit$4_0;
  PT = new Style$Unit$5_0;
  PC = new Style$Unit$6_0;
  IN = new Style$Unit$7_0;
  CM = new Style$Unit$8_0;
  MM = new Style$Unit$9_0;
  $VALUES_3 = initValues(_3Lcom_google_gwt_dom_client_Style$Unit_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$Style$Unit, [PX, PCT, EM, EX, PT, PC, IN, CM, MM]);
}

function values_4(){
  $clinit_Style$Unit();
  return $VALUES_3;
}

defineSeed(204, 116, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]));
var $VALUES_3, CM, EM, EX, IN, MM, PC, PCT, PT, PX;
function Style$Unit$1_0(){
  Enum_0.call(this, 'PX', 0);
}

defineSeed(205, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$1_0);
function Style$Unit$2_0(){
  Enum_0.call(this, 'PCT', 1);
}

defineSeed(206, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$2_0);
function Style$Unit$3_0(){
  Enum_0.call(this, 'EM', 2);
}

defineSeed(207, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$3_0);
function Style$Unit$4_0(){
  Enum_0.call(this, 'EX', 3);
}

defineSeed(208, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$4_0);
function Style$Unit$5_0(){
  Enum_0.call(this, 'PT', 4);
}

defineSeed(209, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$5_0);
function Style$Unit$6_0(){
  Enum_0.call(this, 'PC', 5);
}

defineSeed(210, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$6_0);
function Style$Unit$7_0(){
  Enum_0.call(this, 'IN', 6);
}

defineSeed(211, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$7_0);
function Style$Unit$8_0(){
  Enum_0.call(this, 'CM', 7);
}

defineSeed(212, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$8_0);
function Style$Unit$9_0(){
  Enum_0.call(this, 'MM', 8);
}

defineSeed(213, 204, makeCastMap([Q$Style$Unit, Q$Serializable, Q$Comparable, Q$Enum]), Style$Unit$9_0);
function inject(css){
  $clinit_StyleInjector();
  $push(toInject, css);
  schedule();
}

function $clinit_BlurEvent(){
  $clinit_BlurEvent = nullMethod;
  TYPE_1 = new DomEvent$Type_0('blur', new BlurEvent_0);
}

function $dispatch_0(handler){
  handler.this$0.popup.showing || $updateDateFromTextBox(handler.this$0);
}

function BlurEvent_0(){
}

defineSeed(219, 220, {}, BlurEvent_0);
_.dispatch = function dispatch_1(handler){
  $dispatch_0(dynamicCast(handler, Q$BlurHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_2(){
  return TYPE_1;
}
;
var TYPE_1;
function $clinit_FocusEvent(){
  $clinit_FocusEvent = nullMethod;
  TYPE_3 = new DomEvent$Type_0('focus', new FocusEvent_0);
}

function $dispatch_1(handler){
  handler.this$0.allowDPShow && !handler.this$0.popup.showing && $showDatePicker(handler.this$0);
}

function FocusEvent_0(){
}

defineSeed(227, 220, {}, FocusEvent_0);
_.dispatch = function dispatch_3(handler){
  $dispatch_1(dynamicCast(handler, Q$FocusHandler));
}
;
_.getAssociatedType_0 = function getAssociatedType_4(){
  return TYPE_3;
}
;
var TYPE_3;
defineSeed(229, 220, {});
defineSeed(228, 229, {});
function $clinit_KeyDownEvent(){
  $clinit_KeyDownEvent = nullMethod;
  TYPE_4 = new DomEvent$Type_0('keydown', new KeyDownEvent_0);
}

function KeyDownEvent_0(){
}

defineSeed(230, 228, {}, KeyDownEvent_0);
_.dispatch = function dispatch_4(handler){
  dynamicCast(handler, Q$KeyDownHandler).onKeyDown(this);
}
;
_.getAssociatedType_0 = function getAssociatedType_5(){
  return TYPE_4;
}
;
var TYPE_4;
defineSeed(234, 28, {});
_.dispatch = function dispatch_6(handler){
  throwClassCastExceptionUnlessNull(handler);
  null.nullMethod();
}
;
_.getAssociatedType = function getAssociatedType_7(){
  return TYPE_6;
}
;
var TYPE_6 = null;
function ResizeEvent_0(){
}

function fire_1(source){
  var event_0;
  if (TYPE_7) {
    event_0 = new ResizeEvent_0;
    $fireEvent_0(source, event_0);
  }
}

defineSeed(235, 28, {}, ResizeEvent_0);
_.dispatch = function dispatch_7(handler){
  dynamicCast(handler, Q$ResizeHandler);
  $onResize();
}
;
_.getAssociatedType = function getAssociatedType_8(){
  return TYPE_7;
}
;
var TYPE_7 = null;
function fire_2(){
}

function $doRemoveNow(this$static, type, source, handler){
  var l_0, removed, sourceMap;
  l_0 = $getHandlerList(this$static, type, source);
  removed = l_0.remove_1(handler);
  removed && l_0.isEmpty() && (sourceMap = dynamicCast($get_2(this$static.map, type), Q$Map) , dynamicCast(sourceMap.remove_2(source), Q$List) , sourceMap.isEmpty() && $remove_7(this$static.map, type) , undefined);
}

function $doRemove(this$static, type, source, handler){
  this$static.firingDepth > 0?$defer(this$static, new SimpleEventBus$3_0(this$static, type, source, handler)):$doRemoveNow(this$static, type, source, handler);
}

function $clinit_DateTimeFormat(){
  $clinit_DateTimeFormat = nullMethod;
  new HashMap_0;
}

function $addPart(this$static, buf, count){
  var oldLength;
  if ($toString(buf.data).length > 0) {
    $add_7(this$static.patternParts, new DateTimeFormat$PatternPart_0($toString(buf.data), count));
    oldLength = $toString(buf.data).length;
    0 < oldLength?($replace(buf.data, oldLength) , buf):0 > oldLength && $append_3(buf, initDim(_3C_classLit, makeCastMap([Q$Serializable]), -1, -oldLength, 1));
  }
}

function $format(this$static, date, timeZone){
  var ch, diff, i, j, keepDate, keepTime, n, toAppendTo, trailQuote;
  !timeZone && (timeZone = createTimeZone(date.jsdate.getTimezoneOffset()));
  diff = (date.jsdate.getTimezoneOffset() - timeZone.standardOffset) * 60000;
  keepDate = new Date_3(add_0(fromDouble(date.jsdate.getTime()), fromInt(diff)));
  keepTime = keepDate;
  if (keepDate.jsdate.getTimezoneOffset() != date.jsdate.getTimezoneOffset()) {
    diff > 0?(diff -= 86400000):(diff += 86400000);
    keepTime = new Date_3(add_0(fromDouble(date.jsdate.getTime()), fromInt(diff)));
  }
  toAppendTo = new StringBuffer_1;
  n = this$static.pattern.length;
  for (i = 0; i < n;) {
    ch = $charAt(this$static.pattern, i);
    if (ch >= 97 && ch <= 122 || ch >= 65 && ch <= 90) {
      for (j = i + 1; j < n && $charAt(this$static.pattern, j) == ch; ++j) {
      }
      $subFormat(toAppendTo, ch, j - i, keepDate, keepTime, timeZone);
      i = j;
    }
     else if (ch == 39) {
      ++i;
      if (i < n && $charAt(this$static.pattern, i) == 39) {
        $appendNonNull(toAppendTo.data, "'");
        ++i;
        continue;
      }
      trailQuote = false;
      while (!trailQuote) {
        j = i;
        while (j < n && $charAt(this$static.pattern, j) != 39) {
          ++j;
        }
        if (j >= n) {
          throw new IllegalArgumentException_1("Missing trailing '");
        }
        j + 1 < n && $charAt(this$static.pattern, j + 1) == 39?++j:(trailQuote = true);
        $append_2(toAppendTo, $substring_0(this$static.pattern, i, j));
        i = j + 1;
      }
    }
     else {
      $appendNonNull(toAppendTo.data, String.fromCharCode(ch));
      ++i;
    }
  }
  return $toString(toAppendTo.data);
}

function $formatFractionalSeconds(buf, count, date){
  var time, value;
  time = fromDouble(date.jsdate.getTime());
  if (lt(time, P0_longLit)) {
    value = 1000 - toInt(mod(neg(time), P3e8_longLit));
    value == 1000 && (value = 0);
  }
   else {
    value = toInt(mod(time, P3e8_longLit));
  }
  if (count == 1) {
    value = ~~((value + 50) / 100) < 9?~~((value + 50) / 100):9;
    $appendNonNull(buf.data, String.fromCharCode(48 + value & 65535));
  }
   else if (count == 2) {
    value = ~~((value + 5) / 10) < 99?~~((value + 5) / 10):99;
    $zeroPaddingNumber(buf, value, 2);
  }
   else {
    $zeroPaddingNumber(buf, value, 3);
    count > 3 && $zeroPaddingNumber(buf, 0, count - 3);
  }
}

function $formatMonth(buf, count, date){
  var value;
  value = date.jsdate.getMonth();
  switch (count) {
    case 5:
      $append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value]);
      break;
    case 4:
      $append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value]);
      break;
    case 3:
      $append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value]);
      break;
    default:$zeroPaddingNumber(buf, value + 1, count);
  }
}

function $formatYear(buf, count, date){
  var value;
  value = date.jsdate.getFullYear() - 1900 + 1900;
  value < 0 && (value = -value);
  switch (count) {
    case 1:
      $append(buf.data, value);
      break;
    case 2:
      $zeroPaddingNumber(buf, value % 100, 2);
      break;
    default:$zeroPaddingNumber(buf, value, count);
  }
}

function $getNextCharCountInPattern(pattern, start){
  var ch, next;
  ch = pattern.charCodeAt(start);
  next = start + 1;
  while (next < pattern.length && pattern.charCodeAt(next) == ch) {
    ++next;
  }
  return next - start;
}

function $identifyAbutStart(this$static){
  var abut, i, len;
  abut = false;
  len = this$static.patternParts.size_0;
  for (i = 0; i < len; ++i) {
    if ($isNumeric(dynamicCast($get_3(this$static.patternParts, i), Q$DateTimeFormat$PatternPart))) {
      if (!abut && i + 1 < len && $isNumeric(dynamicCast($get_3(this$static.patternParts, i + 1), Q$DateTimeFormat$PatternPart))) {
        abut = true;
        dynamicCast($get_3(this$static.patternParts, i), Q$DateTimeFormat$PatternPart).abutStart = true;
      }
    }
     else {
      abut = false;
    }
  }
}

function $isNumeric(part){
  var i;
  if (part.count <= 0) {
    return false;
  }
  i = $indexOf_0('MLydhHmsSDkK', fromCodePoint(part.text_0.charCodeAt(0)));
  return i > 1 || i >= 0 && part.count < 3;
}

function $matchString(text, start, data, pos){
  var bestMatch, bestMatchLength, count, i, length_0, textInLowerCase;
  count = data.length;
  bestMatchLength = 0;
  bestMatch = -1;
  textInLowerCase = $substring(text, start).toLowerCase();
  for (i = 0; i < count; ++i) {
    length_0 = data[i].length;
    if (length_0 > bestMatchLength && $indexOf_0(textInLowerCase, data[i].toLowerCase()) == 0) {
      bestMatch = i;
      bestMatchLength = length_0;
    }
  }
  bestMatch >= 0 && (pos[0] = start + bestMatchLength);
  return bestMatch;
}

function $parse(this$static, text, date){
  var abutPass, abutPat, cal, count, i, parsePos, part, s;
  cal = new DateRecord_0;
  parsePos = initValues(_3I_classLit, makeCastMap([Q$Serializable]), -1, [0]);
  abutPat = -1;
  abutPass = 0;
  for (i = 0; i < this$static.patternParts.size_0; ++i) {
    part = dynamicCast($get_3(this$static.patternParts, i), Q$DateTimeFormat$PatternPart);
    if (part.count > 0) {
      if (abutPat < 0 && part.abutStart) {
        abutPat = i;
        abutPass = 0;
      }
      if (abutPat >= 0) {
        count = part.count;
        if (i == abutPat) {
          count -= abutPass++;
          if (count == 0) {
            return 0;
          }
        }
        if (!$subParse(text, parsePos, part, count, cal)) {
          i = abutPat - 1;
          parsePos[0] = 0;
          continue;
        }
      }
       else {
        abutPat = -1;
        if (!$subParse(text, parsePos, part, 0, cal)) {
          return 0;
        }
      }
    }
     else {
      abutPat = -1;
      if (part.text_0.charCodeAt(0) == 32) {
        s = parsePos[0];
        $skipSpace(text, parsePos);
        if (parsePos[0] > s) {
          continue;
        }
      }
       else if ($startsWith(text, part.text_0, parsePos[0])) {
        parsePos[0] += part.text_0.length;
        continue;
      }
      return 0;
    }
  }
  if (!$calcDate(cal, date)) {
    return 0;
  }
  return parsePos[0];
}

function $parse_0(this$static, text){
  var charsConsumed, curDate, date;
  curDate = new Date_1;
  date = new Date_2(curDate.jsdate.getFullYear() - 1900, curDate.jsdate.getMonth(), curDate.jsdate.getDate());
  charsConsumed = $parse(this$static, text, date);
  if (charsConsumed == 0 || charsConsumed < text.length) {
    throw new IllegalArgumentException_1(text);
  }
  return date;
}

function $parseInt(text, pos){
  var ch, ind, ret;
  ret = 0;
  ind = pos[0];
  if (ind >= text.length) {
    return -1;
  }
  ch = text.charCodeAt(ind);
  while (ch >= 48 && ch <= 57) {
    ret = ret * 10 + (ch - 48);
    ++ind;
    if (ind >= text.length) {
      break;
    }
    ch = text.charCodeAt(ind);
  }
  ind > pos[0]?(pos[0] = ind):(ret = -1);
  return ret;
}

function $parsePattern(this$static, pattern){
  var buf, ch, count, i, inQuote;
  buf = new StringBuffer_1;
  inQuote = false;
  for (i = 0; i < pattern.length; ++i) {
    ch = pattern.charCodeAt(i);
    if (ch == 32) {
      $addPart(this$static, buf, 0);
      $appendNonNull(buf.data, ' ');
      $addPart(this$static, buf, 0);
      while (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 32) {
        ++i;
      }
      continue;
    }
    if (inQuote) {
      if (ch == 39) {
        if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
          $appendNonNull(buf.data, "'");
          ++i;
        }
         else {
          inQuote = false;
        }
      }
       else {
        $appendNonNull(buf.data, String.fromCharCode(ch));
      }
      continue;
    }
    if ($indexOf_0('GyMLdkHmsSEcDahKzZv', fromCodePoint(ch)) > 0) {
      $addPart(this$static, buf, 0);
      $appendNonNull(buf.data, String.fromCharCode(ch));
      count = $getNextCharCountInPattern(pattern, i);
      $addPart(this$static, buf, count);
      i += count - 1;
      continue;
    }
    if (ch == 39) {
      if (i + 1 < pattern.length && pattern.charCodeAt(i + 1) == 39) {
        $appendNonNull(buf.data, "'");
        ++i;
      }
       else {
        inQuote = true;
      }
    }
     else {
      $appendNonNull(buf.data, String.fromCharCode(ch));
    }
  }
  $addPart(this$static, buf, 0);
  $identifyAbutStart(this$static);
}

function $parseTimeZoneOffset(text, pos, cal){
  var offset, sign, st, value;
  if (pos[0] >= text.length) {
    cal.tzOffset = 0;
    return true;
  }
  switch (text.charCodeAt(pos[0])) {
    case 43:
      sign = 1;
      break;
    case 45:
      sign = -1;
      break;
    default:cal.tzOffset = 0;
      return true;
  }
  ++pos[0];
  st = pos[0];
  value = $parseInt(text, pos);
  if (value == 0 && pos[0] == st) {
    return false;
  }
  if (pos[0] < text.length && text.charCodeAt(pos[0]) == 58) {
    offset = value * 60;
    ++pos[0];
    st = pos[0];
    value = $parseInt(text, pos);
    if (value == 0 && pos[0] == st) {
      return false;
    }
    offset += value;
  }
   else {
    offset = value;
    value < 24 && pos[0] - st <= 2?(offset *= 60):(offset = value % 100 + ~~(value / 100) * 60);
  }
  offset *= sign;
  cal.tzOffset = -offset;
  return true;
}

function $skipSpace(text, pos){
  while (pos[0] < text.length && $indexOf_0(' \t\r\n', fromCodePoint(text.charCodeAt(pos[0]))) >= 0) {
    ++pos[0];
  }
}

function $subFormat(buf, ch, count, adjustedDate, adjustedTime, timezone){
  var value, value_0, value_1, value_2, value_3, value_4, value_5, value_6, value_7, value_8, value_9, value_10;
  switch (ch) {
    case 71:
      value = adjustedDate.jsdate.getFullYear() - 1900 >= -1900?1:0;
      count >= 4?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Before Christ', 'Anno Domini'])[value]):$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['BC', 'AD'])[value]);
      break;
    case 121:
      $formatYear(buf, count, adjustedDate);
      break;
    case 77:
      $formatMonth(buf, count, adjustedDate);
      break;
    case 107:
      value_0 = adjustedTime.getHours_0();
      value_0 == 0?$zeroPaddingNumber(buf, 24, count):$zeroPaddingNumber(buf, value_0, count);
      break;
    case 83:
      $formatFractionalSeconds(buf, count, adjustedTime);
      break;
    case 69:
      value_1 = adjustedDate.jsdate.getDay();
      count == 5?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_1]):count == 4?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_1]):$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_1]);
      break;
    case 97:
      adjustedTime.getHours_0() >= 12 && adjustedTime.getHours_0() < 24?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM'])[1]):$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM'])[0]);
      break;
    case 104:
      value_2 = adjustedTime.getHours_0() % 12;
      value_2 == 0?$zeroPaddingNumber(buf, 12, count):$zeroPaddingNumber(buf, value_2, count);
      break;
    case 75:
      value_3 = adjustedTime.getHours_0() % 12;
      $zeroPaddingNumber(buf, value_3, count);
      break;
    case 72:
      value_4 = adjustedTime.getHours_0();
      $zeroPaddingNumber(buf, value_4, count);
      break;
    case 99:
      value_5 = adjustedDate.jsdate.getDay();
      count == 5?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['S', 'M', 'T', 'W', 'T', 'F', 'S'])[value_5]):count == 4?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'])[value_5]):count == 3?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'])[value_5]):$zeroPaddingNumber(buf, value_5, 1);
      break;
    case 76:
      value_6 = adjustedDate.jsdate.getMonth();
      count == 5?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'])[value_6]):count == 4?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'])[value_6]):count == 3?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'])[value_6]):$zeroPaddingNumber(buf, value_6 + 1, count);
      break;
    case 81:
      value_7 = ~~(adjustedDate.jsdate.getMonth() / 3);
      count < 4?$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Q1', 'Q2', 'Q3', 'Q4'])[value_7]):$append_2(buf, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter'])[value_7]);
      break;
    case 100:
      value_8 = adjustedDate.jsdate.getDate();
      $zeroPaddingNumber(buf, value_8, count);
      break;
    case 109:
      value_9 = adjustedTime.getMinutes_0();
      $zeroPaddingNumber(buf, value_9, count);
      break;
    case 115:
      value_10 = adjustedTime.getSeconds_0();
      $zeroPaddingNumber(buf, value_10, count);
      break;
    case 122:
      count < 4?$append_2(buf, timezone.tzNames[0]):$append_2(buf, timezone.tzNames[1]);
      break;
    case 118:
      $append_2(buf, timezone.timezoneID);
      break;
    case 90:
      count < 3?$append_2(buf, $getRFCTimeZoneString(timezone)):count == 3?$append_2(buf, $getISOTimeZoneString(timezone)):$append_2(buf, composeGMTString(timezone.standardOffset));
      break;
    default:return false;
  }
  return true;
}

function $subParse(text, pos, part, digitCount, cal){
  var ch, start, value;
  $skipSpace(text, pos);
  start = pos[0];
  ch = part.text_0.charCodeAt(0);
  value = -1;
  if ($isNumeric(part)) {
    if (digitCount > 0) {
      if (start + digitCount > text.length) {
        return false;
      }
      value = $parseInt(text.substr(0, start + digitCount - 0), pos);
    }
     else {
      value = $parseInt(text, pos);
    }
  }
  switch (ch) {
    case 71:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Before Christ', 'Anno Domini']), pos);
      cal.era = value;
      return true;
    case 77:
      return $subParseMonth(text, pos, cal, value, start);
    case 76:
      return $subParseStandaloneMonth(text, pos, cal, value, start);
    case 69:
      return $subParseDayOfWeek(text, pos, start, cal);
    case 99:
      return $subParseStandaloneDay(text, pos, start, cal);
    case 97:
      value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['AM', 'PM']), pos);
      cal.ampm = value;
      return true;
    case 121:
      return $subParseYear(text, pos, start, value, part, cal);
    case 100:
      if (value <= 0) {
        return false;
      }

      cal.dayOfMonth = value;
      return true;
    case 83:
      if (value < 0) {
        return false;
      }

      return $subParseFractionalSeconds(value, start, pos[0], cal);
    case 104:
      value == 12 && (value = 0);
    case 75:
    case 107:
    case 72:
      if (value < 0) {
        return false;
      }

      cal.hours = value;
      return true;
    case 109:
      if (value < 0) {
        return false;
      }

      cal.minutes = value;
      return true;
    case 115:
      if (value < 0) {
        return false;
      }

      cal.seconds = value;
      return true;
    case 90:
      if (start < text.length && text.charCodeAt(start) == 90) {
        ++pos[0];
        cal.tzOffset = 0;
        return true;
      }

    case 122:
    case 118:
      return $subParseTimeZoneInGMT(text, start, pos, cal);
    default:return false;
  }
}

function $subParseDayOfWeek(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseFractionalSeconds(value, start, end, cal){
  var a, i;
  i = end - start;
  if (i < 3) {
    while (i < 3) {
      value *= 10;
      ++i;
    }
  }
   else {
    a = 1;
    while (i > 3) {
      a *= 10;
      --i;
    }
    value = ~~((value + (a >> 1)) / a);
  }
  cal.milliseconds = value;
  return true;
}

function $subParseMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseStandaloneDay(text, pos, start, cal){
  var value;
  value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']), pos);
  value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']), pos));
  if (value < 0) {
    return false;
  }
  cal.dayOfWeek = value;
  return true;
}

function $subParseStandaloneMonth(text, pos, cal, value, start){
  if (value < 0) {
    value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']), pos);
    value < 0 && (value = $matchString(text, start, initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']), pos));
    if (value < 0) {
      return false;
    }
    cal.month = value;
    return true;
  }
   else if (value > 0) {
    cal.month = value - 1;
    return true;
  }
  return false;
}

function $subParseTimeZoneInGMT(text, start, pos, cal){
  if (!(start < 0 || start >= text.length) && text.indexOf('GMT', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  if (!(start < 0 || start >= text.length) && text.indexOf('UTC', start) == start) {
    pos[0] = start + 3;
    return $parseTimeZoneOffset(text, pos, cal);
  }
  return $parseTimeZoneOffset(text, pos, cal);
}

function $subParseYear(text, pos, start, value, part, cal){
  var ambiguousTwoDigitYear, ch, date, defaultCenturyStartYear;
  ch = 32;
  if (value < 0) {
    if (pos[0] >= text.length) {
      return false;
    }
    ch = text.charCodeAt(pos[0]);
    if (ch != 43 && ch != 45) {
      return false;
    }
    ++pos[0];
    value = $parseInt(text, pos);
    if (value < 0) {
      return false;
    }
    ch == 45 && (value = -value);
  }
  if (ch == 32 && pos[0] - start == 2 && part.count == 2) {
    date = new Date_1;
    defaultCenturyStartYear = date.jsdate.getFullYear() - 1900 + 1900 - 80;
    ambiguousTwoDigitYear = defaultCenturyStartYear % 100;
    cal.ambiguousYear = value == ambiguousTwoDigitYear;
    value += ~~(defaultCenturyStartYear / 100) * 100 + (value < ambiguousTwoDigitYear?100:0);
  }
  cal.year = value;
  return true;
}

function $zeroPaddingNumber(buf, value, minWidth){
  var b, i;
  b = 10;
  for (i = 0; i < minWidth - 1; ++i) {
    value < b && ($appendNonNull(buf.data, '0') , buf);
    b *= 10;
  }
  $append(buf.data, value);
}

defineSeed(259, 1, {});
_.pattern = null;
function $clinit_DateTimeFormat_0(){
  $clinit_DateTimeFormat_0 = nullMethod;
  $clinit_DateTimeFormat();
  cache = new HashMap_0;
}

function DateTimeFormat_1(pattern){
  $clinit_DateTimeFormat();
  this.patternParts = new ArrayList_0;
  this.pattern = pattern;
  $parsePattern(this, pattern);
}

function getFormat(predef){
  $clinit_DateTimeFormat_0();
  var dtfi, pattern;
  if (usesFixedEnglishStrings(predef)) {
    switch (predef.ordinal) {
      case 1:
        pattern = 'EEE, d MMM yyyy HH:mm:ss Z';
        break;
      case 0:
        pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSZZZ";
        break;
      default:throw new IllegalStateException_1('Unexpected predef type ' + predef);
    }
    return getFormat_0(pattern, new DateTimeFormatInfoImpl_en_0);
  }
  dtfi = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_0));
  switch (predef.ordinal) {
    case 2:
      pattern = dtfi.dateFormatFull();
      break;
    case 3:
      pattern = dtfi.dateFormatLong();
      break;
    case 4:
      pattern = dtfi.dateFormatMedium();
      break;
    case 5:
      pattern = dtfi.dateFormatShort();
      break;
    case 10:
      pattern = $dateTimeFull(dtfi.timeFormatFull(), dtfi.dateFormatFull());
      break;
    case 11:
      pattern = $dateTimeLong(dtfi.timeFormatLong(), dtfi.dateFormatLong());
      break;
    case 12:
      pattern = $dateTimeMedium(dtfi.timeFormatMedium(), dtfi.dateFormatMedium());
      break;
    case 13:
      pattern = $dateTimeShort(dtfi.timeFormatShort(), dtfi.dateFormatShort());
      break;
    case 14:
      pattern = 'd';
      break;
    case 17:
      pattern = 'HH:mm';
      break;
    case 18:
      pattern = 'HH:mm:ss';
      break;
    case 15:
      pattern = 'h:mm a';
      break;
    case 16:
      pattern = 'h:mm:ss a';
      break;
    case 19:
      pattern = 'mm:ss';
      break;
    case 20:
      pattern = 'LLLL';
      break;
    case 21:
      pattern = 'LLL';
      break;
    case 22:
      pattern = 'MMM d';
      break;
    case 23:
      pattern = 'MMMM d';
      break;
    case 24:
      pattern = dtfi.formatMonthNumDay();
      break;
    case 25:
      pattern = dtfi.formatMonthFullWeekdayDay();
      break;
    case 6:
      pattern = dtfi.timeFormatFull();
      break;
    case 7:
      pattern = dtfi.timeFormatLong();
      break;
    case 8:
      pattern = dtfi.timeFormatMedium();
      break;
    case 9:
      pattern = dtfi.timeFormatShort();
      break;
    case 26:
      pattern = 'y';
      break;
    case 27:
      pattern = dtfi.formatYearMonthFull();
      break;
    case 28:
      pattern = dtfi.formatYearMonthAbbrev();
      break;
    case 29:
      pattern = dtfi.formatYearMonthAbbrevDay();
      break;
    case 30:
      pattern = dtfi.formatYearMonthFullDay();
      break;
    case 31:
      pattern = dtfi.formatYearMonthNum();
      break;
    case 32:
      pattern = dtfi.formatYearMonthNumDay();
      break;
    case 33:
      pattern = dtfi.formatYearMonthWeekdayDay();
      break;
    case 34:
      pattern = dtfi.formatYearQuarterFull();
      break;
    case 35:
      pattern = dtfi.formatYearQuarterShort();
      break;
    default:throw new IllegalArgumentException_1('Unexpected predefined format ' + predef);
  }
  return getFormat_0(pattern, dtfi);
}

function getFormat_0(pattern, dtfi){
  $clinit_DateTimeFormat_0();
  var defaultDtfi, dtf;
  defaultDtfi = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_0));
  dtf = null;
  dtfi == defaultDtfi && (dtf = dynamicCast($get_2(cache, pattern), Q$DateTimeFormat));
  if (!dtf) {
    dtf = new DateTimeFormat_1(pattern);
    dtfi == defaultDtfi && $put_0(cache, pattern, dtf);
  }
  return dtf;
}

function usesFixedEnglishStrings(predef){
  switch (predef.ordinal) {
    case 0:
    case 1:
      return true;
    default:return false;
  }
}

defineSeed(258, 259, makeCastMap([Q$DateTimeFormat]), DateTimeFormat_1);
var cache = null;
function $clinit_DateTimeFormat$PredefinedFormat(){
  $clinit_DateTimeFormat$PredefinedFormat = nullMethod;
  ISO_8601 = new DateTimeFormat$PredefinedFormat_0('ISO_8601', 0);
  RFC_2822 = new DateTimeFormat$PredefinedFormat_0('RFC_2822', 1);
  DATE_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_FULL', 2);
  DATE_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_LONG', 3);
  DATE_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_MEDIUM', 4);
  DATE_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_SHORT', 5);
  TIME_FULL = new DateTimeFormat$PredefinedFormat_0('TIME_FULL', 6);
  TIME_LONG = new DateTimeFormat$PredefinedFormat_0('TIME_LONG', 7);
  TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('TIME_MEDIUM', 8);
  TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('TIME_SHORT', 9);
  DATE_TIME_FULL = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_FULL', 10);
  DATE_TIME_LONG = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_LONG', 11);
  DATE_TIME_MEDIUM = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_MEDIUM', 12);
  DATE_TIME_SHORT = new DateTimeFormat$PredefinedFormat_0('DATE_TIME_SHORT', 13);
  DAY = new DateTimeFormat$PredefinedFormat_0('DAY', 14);
  HOUR_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE', 15);
  HOUR_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR_MINUTE_SECOND', 16);
  HOUR24_MINUTE = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE', 17);
  HOUR24_MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('HOUR24_MINUTE_SECOND', 18);
  MINUTE_SECOND = new DateTimeFormat$PredefinedFormat_0('MINUTE_SECOND', 19);
  MONTH = new DateTimeFormat$PredefinedFormat_0('MONTH', 20);
  MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR', 21);
  MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_ABBR_DAY', 22);
  MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_DAY', 23);
  MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_NUM_DAY', 24);
  MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('MONTH_WEEKDAY_DAY', 25);
  YEAR = new DateTimeFormat$PredefinedFormat_0('YEAR', 26);
  YEAR_MONTH = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH', 27);
  YEAR_MONTH_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR', 28);
  YEAR_MONTH_ABBR_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_ABBR_DAY', 29);
  YEAR_MONTH_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_DAY', 30);
  YEAR_MONTH_NUM = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM', 31);
  YEAR_MONTH_NUM_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_NUM_DAY', 32);
  YEAR_MONTH_WEEKDAY_DAY = new DateTimeFormat$PredefinedFormat_0('YEAR_MONTH_WEEKDAY_DAY', 33);
  YEAR_QUARTER = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER', 34);
  YEAR_QUARTER_ABBR = new DateTimeFormat$PredefinedFormat_0('YEAR_QUARTER_ABBR', 35);
  $VALUES_4 = initValues(_3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$DateTimeFormat$PredefinedFormat, [ISO_8601, RFC_2822, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR_MINUTE, HOUR_MINUTE_SECOND, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR]);
}

function DateTimeFormat$PredefinedFormat_0(enum$name, enum$ordinal){
  Enum_0.call(this, enum$name, enum$ordinal);
}

function values_5(){
  $clinit_DateTimeFormat$PredefinedFormat();
  return $VALUES_4;
}

defineSeed(260, 116, makeCastMap([Q$DateTimeFormat$PredefinedFormat, Q$Serializable, Q$Comparable, Q$Enum]), DateTimeFormat$PredefinedFormat_0);
var $VALUES_4, DATE_FULL, DATE_LONG, DATE_MEDIUM, DATE_SHORT, DATE_TIME_FULL, DATE_TIME_LONG, DATE_TIME_MEDIUM, DATE_TIME_SHORT, DAY, HOUR24_MINUTE, HOUR24_MINUTE_SECOND, HOUR_MINUTE, HOUR_MINUTE_SECOND, ISO_8601, MINUTE_SECOND, MONTH, MONTH_ABBR, MONTH_ABBR_DAY, MONTH_DAY, MONTH_NUM_DAY, MONTH_WEEKDAY_DAY, RFC_2822, TIME_FULL, TIME_LONG, TIME_MEDIUM, TIME_SHORT, YEAR, YEAR_MONTH, YEAR_MONTH_ABBR, YEAR_MONTH_ABBR_DAY, YEAR_MONTH_DAY, YEAR_MONTH_NUM, YEAR_MONTH_NUM_DAY, YEAR_MONTH_WEEKDAY_DAY, YEAR_QUARTER, YEAR_QUARTER_ABBR;
function $dateTimeFull(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeLong(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeMedium(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

function $dateTimeShort(timePattern, datePattern){
  return datePattern + ' ' + timePattern;
}

defineSeed(262, 1, {});
_.dateFormatFull = function dateFormatFull(){
  return 'EEEE, y MMMM dd';
}
;
_.dateFormatLong = function dateFormatLong(){
  return 'y MMMM d';
}
;
_.dateFormatMedium = function dateFormatMedium(){
  return 'y MMM d';
}
;
_.dateFormatShort = function dateFormatShort(){
  return 'yyyy-MM-dd';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek(){
  return 1;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay(){
  return 'EEEE MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay(){
  return 'M-d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev(){
  return 'y MMM';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay(){
  return 'y MMM d';
}
;
_.formatYearMonthFull = function formatYearMonthFull(){
  return 'y MMMM';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay(){
  return 'y MMMM d';
}
;
_.formatYearMonthNum = function formatYearMonthNum(){
  return 'y-M';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay(){
  return 'y-M-d';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay(){
  return 'EEE, y MMM d';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull(){
  return 'y QQQQ';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort(){
  return 'y Q';
}
;
_.timeFormatFull = function timeFormatFull(){
  return 'HH:mm:ss zzzz';
}
;
_.timeFormatLong = function timeFormatLong(){
  return 'HH:mm:ss z';
}
;
_.timeFormatMedium = function timeFormatMedium(){
  return 'HH:mm:ss';
}
;
_.timeFormatShort = function timeFormatShort(){
  return 'HH:mm';
}
;
defineSeed(261, 262, {});
function $getDateTimeFormatInfo(this$static){
  !this$static.dateTimeFormatInfo && (this$static.dateTimeFormatInfo = new DateTimeFormatInfoImpl_0);
  return this$static.dateTimeFormatInfo;
}

function $getISOTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [43, 48, 48, 58, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] = data[1] + ~~(~~(offset / 60) / 10) & 65535;
  data[2] = data[2] + ~~(offset / 60) % 10 & 65535;
  data[4] = data[4] + ~~(offset % 60 / 10) & 65535;
  data[5] = data[5] + offset % 10 & 65535;
  return valueOf_5(data);
}

function $getRFCTimeZoneString(this$static){
  var data, offset;
  offset = -this$static.standardOffset;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [43, 48, 48, 48, 48]);
  if (offset < 0) {
    data[0] = 45;
    offset = -offset;
  }
  data[1] = data[1] + ~~(~~(offset / 60) / 10) & 65535;
  data[2] = data[2] + ~~(offset / 60) % 10 & 65535;
  data[3] = data[3] + ~~(offset % 60 / 10) & 65535;
  data[4] = data[4] + offset % 10 & 65535;
  return valueOf_5(data);
}

function TimeZone_0(){
}

function composeGMTString(offset){
  var data;
  data = initValues(_3C_classLit, makeCastMap([Q$Serializable]), -1, [71, 77, 84, 45, 48, 48, 58, 48, 48]);
  if (offset <= 0) {
    data[3] = 43;
    offset = -offset;
  }
  data[4] = data[4] + ~~(~~(offset / 60) / 10) & 65535;
  data[5] = data[5] + ~~(offset / 60) % 10 & 65535;
  data[7] = data[7] + ~~(offset % 60 / 10) & 65535;
  data[8] = data[8] + offset % 10 & 65535;
  return valueOf_5(data);
}

function composePOSIXTimeZoneID(offset){
  var str;
  if (offset == 0) {
    return 'Etc/GMT';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'Etc/GMT-';
  }
   else {
    str = 'Etc/GMT+';
  }
  return str + offsetDisplay(offset);
}

function composeUTCString(offset){
  var str;
  if (offset == 0) {
    return 'UTC';
  }
  if (offset < 0) {
    offset = -offset;
    str = 'UTC+';
  }
   else {
    str = 'UTC-';
  }
  return str + offsetDisplay(offset);
}

function createTimeZone(timeZoneOffsetInMinutes){
  var tz;
  tz = new TimeZone_0;
  tz.standardOffset = timeZoneOffsetInMinutes;
  tz.timezoneID = composePOSIXTimeZoneID(timeZoneOffsetInMinutes);
  tz.tzNames = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 2, 0);
  tz.tzNames[0] = composeUTCString(timeZoneOffsetInMinutes);
  tz.tzNames[1] = composeUTCString(timeZoneOffsetInMinutes);
  return tz;
}

function offsetDisplay(offset){
  var hour, mins;
  hour = ~~(offset / 60);
  mins = offset % 60;
  if (mins == 0) {
    return '' + hour;
  }
  return '' + hour + ':' + mins;
}

defineSeed(265, 1, {}, TimeZone_0);
_.standardOffset = 0;
_.timezoneID = null;
_.tzNames = null;
function DateTimeFormatInfoImpl_0(){
}

defineSeed(266, 261, {}, DateTimeFormatInfoImpl_0);
function DateTimeFormatInfoImpl_en_0(){
}

defineSeed(267, 266, {}, DateTimeFormatInfoImpl_en_0);
_.dateFormatFull = function dateFormatFull_0(){
  return 'EEEE, MMMM d, y';
}
;
_.dateFormatLong = function dateFormatLong_0(){
  return 'MMMM d, y';
}
;
_.dateFormatMedium = function dateFormatMedium_0(){
  return 'MMM d, y';
}
;
_.dateFormatShort = function dateFormatShort_0(){
  return 'M/d/yy';
}
;
_.firstDayOfTheWeek = function firstDayOfTheWeek_0(){
  return 0;
}
;
_.formatMonthFullWeekdayDay = function formatMonthFullWeekdayDay_0(){
  return 'EEEE, MMMM d';
}
;
_.formatMonthNumDay = function formatMonthNumDay_0(){
  return 'M/d';
}
;
_.formatYearMonthAbbrev = function formatYearMonthAbbrev_0(){
  return 'MMM y';
}
;
_.formatYearMonthAbbrevDay = function formatYearMonthAbbrevDay_0(){
  return 'MMM d, y';
}
;
_.formatYearMonthFull = function formatYearMonthFull_0(){
  return 'MMMM y';
}
;
_.formatYearMonthFullDay = function formatYearMonthFullDay_0(){
  return 'MMMM d, y';
}
;
_.formatYearMonthNum = function formatYearMonthNum_0(){
  return 'M/y';
}
;
_.formatYearMonthNumDay = function formatYearMonthNumDay_0(){
  return 'M/d/y';
}
;
_.formatYearMonthWeekdayDay = function formatYearMonthWeekdayDay_0(){
  return 'EEE, MMM d, y';
}
;
_.formatYearQuarterFull = function formatYearQuarterFull_0(){
  return 'QQQQ y';
}
;
_.formatYearQuarterShort = function formatYearQuarterShort_0(){
  return 'Q y';
}
;
_.timeFormatFull = function timeFormatFull_0(){
  return 'h:mm:ss a zzzz';
}
;
_.timeFormatLong = function timeFormatLong_0(){
  return 'h:mm:ss a z';
}
;
_.timeFormatMedium = function timeFormatMedium_0(){
  return 'h:mm:ss a';
}
;
_.timeFormatShort = function timeFormatShort_0(){
  return 'h:mm a';
}
;
function DateTimeFormat$PatternPart_0(txt, cnt){
  this.text_0 = txt;
  this.count = cnt;
  this.abutStart = false;
}

defineSeed(268, 1, makeCastMap([Q$DateTimeFormat$PatternPart]), DateTimeFormat$PatternPart_0);
_.abutStart = false;
_.count = 0;
_.text_0 = null;
function $fixDaylightSavings(this$static, hours){
  var badHours, copy, day, newTime, timeDiff, timeDiffHours, timeDiffMinutes;
  if (this$static.jsdate.getHours() % 24 != hours % 24) {
    copy = create(this$static.jsdate.getTime());
    $setDate(copy, copy.getDate() + 1);
    timeDiff = this$static.jsdate.getTimezoneOffset() - copy.getTimezoneOffset();
    if (timeDiff > 0) {
      timeDiffHours = ~~(timeDiff / 60);
      timeDiffMinutes = timeDiff % 60;
      day = this$static.jsdate.getDate();
      badHours = this$static.jsdate.getHours();
      badHours + timeDiffHours >= 24 && ++day;
      newTime = create_0(this$static.jsdate.getFullYear(), this$static.jsdate.getMonth(), day, hours + timeDiffHours, this$static.jsdate.getMinutes() + timeDiffMinutes, this$static.jsdate.getSeconds(), this$static.jsdate.getMilliseconds());
      $setTime(this$static.jsdate, newTime.getTime());
    }
  }
}

function $setDate_0(this$static, date){
  var hours;
  hours = this$static.jsdate.getHours();
  $setDate(this$static.jsdate, date);
  $fixDaylightSavings(this$static, hours);
}

function $setTime_0(this$static, time){
  $setTime(this$static.jsdate, toDouble(time));
}

function Date_1(){
  this.jsdate = new Date;
}

function Date_2(year, month, date){
  this.jsdate = new Date;
  $setFullYear_0(this.jsdate, year + 1900, month, date);
  $setHours_0(this.jsdate, 0, 0, 0, 0);
  $fixDaylightSavings(this, 0);
}

function Date_3(date){
  this.jsdate = create(toDouble(date));
}

function Date_4(date){
  Date_3.call(this, parse(date));
}

function padTwo(number){
  return number < 10?'0' + number:'' + number;
}

function parse(s){
  var parsed;
  parsed = Date.parse(s);
  if (isNaN(parsed)) {
    throw new IllegalArgumentException_0;
  }
  return fromDouble(parsed);
}

defineSeed(270, 1, makeCastMap([Q$Serializable, Q$Comparable, Q$Date]), Date_1, Date_2, Date_3, Date_4);
_.equals$ = function equals_1(obj){
  return instanceOf(obj, Q$Date) && eq(fromDouble(this.jsdate.getTime()), fromDouble(dynamicCast(obj, Q$Date).jsdate.getTime()));
}
;
_.getHours_0 = function getHours(){
  return this.jsdate.getHours();
}
;
_.getMinutes_0 = function getMinutes(){
  return this.jsdate.getMinutes();
}
;
_.getSeconds_0 = function getSeconds(){
  return this.jsdate.getSeconds();
}
;
_.getTime_0 = function getTime(){
  return fromDouble(this.jsdate.getTime());
}
;
_.hashCode$ = function hashCode_3(){
  var time;
  time = fromDouble(this.jsdate.getTime());
  return toInt(xor(time, shru(time, 32)));
}
;
_.setHours_0 = function setHours(hours){
  $setHours(this.jsdate, hours);
  $fixDaylightSavings(this, hours);
}
;
_.setMinutes_0 = function setMinutes(minutes){
  var hours;
  hours = this.getHours_0() + ~~(minutes / 60);
  $setMinutes(this.jsdate, minutes);
  $fixDaylightSavings(this, hours);
}
;
_.setMonth_0 = function setMonth(month){
  var hours;
  hours = this.jsdate.getHours();
  $setMonth(this.jsdate, month);
  $fixDaylightSavings(this, hours);
}
;
_.setSeconds_0 = function setSeconds(seconds){
  var hours;
  hours = this.getHours_0() + ~~(seconds / 3600);
  $setSeconds(this.jsdate, seconds);
  $fixDaylightSavings(this, hours);
}
;
_.setYear = function setYear(year){
  var hours;
  hours = this.jsdate.getHours();
  $setFullYear(this.jsdate, year + 1900);
  $fixDaylightSavings(this, hours);
}
;
_.toString$ = function toString_7(){
  var hourOffset, minuteOffset, offset;
  offset = -this.jsdate.getTimezoneOffset();
  hourOffset = (offset >= 0?'+':'') + ~~(offset / 60);
  minuteOffset = (offset < 0?-offset:offset) % 60 < 10?'0' + (offset < 0?-offset:offset) % 60:'' + (offset < 0?-offset:offset) % 60;
  return ($clinit_Date$StringData() , DAYS)[this.jsdate.getDay()] + ' ' + MONTHS[this.jsdate.getMonth()] + ' ' + padTwo(this.jsdate.getDate()) + ' ' + padTwo(this.jsdate.getHours()) + ':' + padTwo(this.jsdate.getMinutes()) + ':' + padTwo(this.jsdate.getSeconds()) + ' GMT' + hourOffset + minuteOffset + ' ' + this.jsdate.getFullYear();
}
;
_.jsdate = null;
function $calcDate(this$static, date){
  var adjustment, daysInCurrentMonth, defaultCenturyStart, offset, orgDayOfMonth, orgMonth, tmp;
  this$static.era == 0 && this$static.year > 0 && (this$static.year = -(this$static.year - 1));
  this$static.year > -2147483648 && date.setYear(this$static.year - 1900);
  orgDayOfMonth = date.jsdate.getDate();
  $setDate_0(date, 1);
  this$static.month >= 0 && date.setMonth_0(this$static.month);
  if (this$static.dayOfMonth >= 0) {
    $setDate_0(date, this$static.dayOfMonth);
  }
   else if (this$static.month >= 0) {
    tmp = new Date_2(date.jsdate.getFullYear() - 1900, date.jsdate.getMonth(), 35);
    daysInCurrentMonth = 35 - tmp.jsdate.getDate();
    $setDate_0(date, daysInCurrentMonth < orgDayOfMonth?daysInCurrentMonth:orgDayOfMonth);
  }
   else {
    $setDate_0(date, orgDayOfMonth);
  }
  this$static.hours < 0 && (this$static.hours = date.getHours_0());
  this$static.ampm > 0 && this$static.hours < 12 && (this$static.hours += 12);
  date.setHours_0(this$static.hours);
  this$static.minutes >= 0 && date.setMinutes_0(this$static.minutes);
  this$static.seconds >= 0 && date.setSeconds_0(this$static.seconds);
  this$static.milliseconds >= 0 && $setTime_0(date, add_0(mul(div(fromDouble(date.jsdate.getTime()), P3e8_longLit), P3e8_longLit), fromInt(this$static.milliseconds)));
  if (this$static.ambiguousYear) {
    defaultCenturyStart = new Date_1;
    defaultCenturyStart.setYear(defaultCenturyStart.jsdate.getFullYear() - 1900 - 80);
    lt(fromDouble(date.jsdate.getTime()), fromDouble(defaultCenturyStart.jsdate.getTime())) && date.setYear(defaultCenturyStart.jsdate.getFullYear() - 1900 + 100);
  }
  if (this$static.dayOfWeek >= 0) {
    if (this$static.dayOfMonth == -1) {
      adjustment = (7 + this$static.dayOfWeek - date.jsdate.getDay()) % 7;
      adjustment > 3 && (adjustment -= 7);
      orgMonth = date.jsdate.getMonth();
      $setDate_0(date, date.jsdate.getDate() + adjustment);
      date.jsdate.getMonth() != orgMonth && $setDate_0(date, date.jsdate.getDate() + (adjustment > 0?-7:7));
    }
     else {
      if (date.jsdate.getDay() != this$static.dayOfWeek) {
        return false;
      }
    }
  }
  if (this$static.tzOffset > -2147483648) {
    offset = date.jsdate.getTimezoneOffset();
    $setTime_0(date, add_0(fromDouble(date.jsdate.getTime()), fromInt((this$static.tzOffset - offset) * 60 * 1000)));
  }
  return true;
}

function DateRecord_0(){
  Date_1.call(this);
  this.era = -1;
  this.ambiguousYear = false;
  this.year = -2147483648;
  this.month = -1;
  this.dayOfMonth = -1;
  this.ampm = -1;
  this.hours = -1;
  this.minutes = -1;
  this.seconds = -1;
  this.milliseconds = -1;
  this.dayOfWeek = -1;
  this.tzOffset = -2147483648;
}

defineSeed(269, 270, makeCastMap([Q$Serializable, Q$Comparable, Q$Date]), DateRecord_0);
_.setHours_0 = function setHours_0(hours){
  this.hours = hours;
}
;
_.setMinutes_0 = function setMinutes_0(minutes){
  this.minutes = minutes;
}
;
_.setMonth_0 = function setMonth_0(month){
  this.month = month;
}
;
_.setSeconds_0 = function setSeconds_0(seconds){
  this.seconds = seconds;
}
;
_.setYear = function setYear_0(value){
  this.year = value;
}
;
_.ambiguousYear = false;
_.ampm = 0;
_.dayOfMonth = 0;
_.dayOfWeek = 0;
_.era = 0;
_.hours = 0;
_.milliseconds = 0;
_.minutes = 0;
_.month = 0;
_.seconds = 0;
_.tzOffset = 0;
_.year = 0;
function createFrom(array, length_0){
  var a, result;
  a = array;
  result = createFromSeed(0, length_0);
  initValues(a.___clazz$, a.castableTypeMap$, a.queryId$, result);
  return result;
}

function toDoubleHelper(a){
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function add_0(a, b){
  var sum0, sum1, sum2;
  sum0 = a.l + b.l;
  sum1 = a.m + b.m + (sum0 >> 22);
  sum2 = a.h + b.h + (sum1 >> 22);
  return create0(sum0 & 4194303, sum1 & 4194303, sum2 & 1048575);
}

function div(a, b){
  return divMod(a, b, false);
}

function fromDouble(value){
  var a0, a1, a2, negative, result;
  if (isNaN(value)) {
    return $clinit_LongLib$Const() , ZERO;
  }
  if (value < -9223372036854775808) {
    return $clinit_LongLib$Const() , MIN_VALUE;
  }
  if (value >= 9223372036854775807) {
    return $clinit_LongLib$Const() , MAX_VALUE;
  }
  negative = false;
  if (value < 0) {
    negative = true;
    value = -value;
  }
  a2 = 0;
  if (value >= 17592186044416) {
    a2 = round_int(value / 17592186044416);
    value -= a2 * 17592186044416;
  }
  a1 = 0;
  if (value >= 4194304) {
    a1 = round_int(value / 4194304);
    value -= a1 * 4194304;
  }
  a0 = round_int(value);
  result = create0(a0, a1, a2);
  negative && negate(result);
  return result;
}

function mod(a, b){
  divMod(a, b, true);
  return remainder;
}

function mul(a, b){
  var a0, a1, a2, a3, a4, b0, b1, b2, b3, b4, c0, c00, c01, c1, c10, c11, c12, c13, c2, c22, c23, c24, p0, p1, p2, p3, p4;
  a0 = a.l & 8191;
  a1 = a.l >> 13 | (a.m & 15) << 9;
  a2 = a.m >> 4 & 8191;
  a3 = a.m >> 17 | (a.h & 255) << 5;
  a4 = (a.h & 1048320) >> 8;
  b0 = b.l & 8191;
  b1 = b.l >> 13 | (b.m & 15) << 9;
  b2 = b.m >> 4 & 8191;
  b3 = b.m >> 17 | (b.h & 255) << 5;
  b4 = (b.h & 1048320) >> 8;
  p0 = a0 * b0;
  p1 = a1 * b0;
  p2 = a2 * b0;
  p3 = a3 * b0;
  p4 = a4 * b0;
  if (b1 != 0) {
    p1 += a0 * b1;
    p2 += a1 * b1;
    p3 += a2 * b1;
    p4 += a3 * b1;
  }
  if (b2 != 0) {
    p2 += a0 * b2;
    p3 += a1 * b2;
    p4 += a2 * b2;
  }
  if (b3 != 0) {
    p3 += a0 * b3;
    p4 += a1 * b3;
  }
  b4 != 0 && (p4 += a0 * b4);
  c00 = p0 & 4194303;
  c01 = (p1 & 511) << 13;
  c0 = c00 + c01;
  c10 = p0 >> 22;
  c11 = p1 >> 9;
  c12 = (p2 & 262143) << 4;
  c13 = (p3 & 31) << 17;
  c1 = c10 + c11 + c12 + c13;
  c22 = p2 >> 18;
  c23 = p3 >> 5;
  c24 = (p4 & 4095) << 8;
  c2 = c22 + c23 + c24;
  c1 += c0 >> 22;
  c0 &= 4194303;
  c2 += c1 >> 22;
  c1 &= 4194303;
  c2 &= 1048575;
  return create0(c0, c1, c2);
}

function shru(a, n){
  var a2, res0, res1, res2;
  n &= 63;
  a2 = a.h & 1048575;
  if (n < 22) {
    res2 = a2 >>> n;
    res1 = a.m >> n | a2 << 22 - n;
    res0 = a.l >> n | a.m << 22 - n;
  }
   else if (n < 44) {
    res2 = 0;
    res1 = a2 >>> n - 22;
    res0 = a.m >> n - 22 | a.h << 44 - n;
  }
   else {
    res2 = 0;
    res1 = 0;
    res0 = a2 >>> n - 44;
  }
  return create0(res0 & 4194303, res1 & 4194303, res2 & 1048575);
}

function toDouble(a){
  if (eq(a, ($clinit_LongLib$Const() , MIN_VALUE))) {
    return -9223372036854775808;
  }
  if (!gte_0(a, ZERO)) {
    return -toDoubleHelper(neg(a));
  }
  return a.l + a.m * 4194304 + a.h * 17592186044416;
}

function xor(a, b){
  return create0(a.l ^ b.l, a.m ^ b.m, a.h ^ b.h);
}

function SafeUriString_0(uri){
  if (uri == null) {
    throw new NullPointerException_1('uri is null');
  }
  this.uri = uri;
}

defineSeed(288, 1, makeCastMap([Q$SafeUri, Q$SafeUriString]), SafeUriString_0);
_.equals$ = function equals_4(obj){
  if (!instanceOf(obj, Q$SafeUri)) {
    return false;
  }
  return $equals(this.uri, dynamicCast(dynamicCast(obj, Q$SafeUri), Q$SafeUriString).uri);
}
;
_.hashCode$ = function hashCode_6(){
  return getHashCode_0(this.uri);
}
;
_.uri = null;
function $clinit_UriUtils(){
  $clinit_UriUtils = nullMethod;
  new RegExp('%5B', 'g');
  new RegExp('%5D', 'g');
}

function insertChild(parent_0, child){
  $insertChild(parent_0, ($clinit_PotentialElement() , $resolve(child)), 0);
}

function isOrHasChild(parent_0, child){
  return isOrHasChildImpl(parent_0, child);
}

function releaseCapture(elem){
  !!sCaptureElem && elem == sCaptureElem && (sCaptureElem = null);
  $maybeInitializeEventSystem();
  elem.releaseCapture();
}

function setCapture(elem){
  sCaptureElem = elem;
  $maybeInitializeEventSystem();
  elem.setCapture();
}

function setInnerText(elem, text){
  $setInnerText(elem, text);
}

function sinkEvents(elem, eventBits){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, eventBits);
}

function addNativePreviewHandler(handler){
  $maybeInitializeEventSystem();
  !TYPE_9 && (TYPE_9 = new GwtEvent$Type_0);
  if (!handlers_0) {
    handlers_0 = new HandlerManager_1(null, true);
    singleton = new Event$NativePreviewEvent_0;
  }
  return $addHandler_0(handlers_0, TYPE_9, handler);
}

function sinkEvents_0(elem){
  $maybeInitializeEventSystem();
  $sinkEventsImpl(elem, 32768);
}

function $dispatch_2(this$static, handler){
  $previewNativeEvent(handler.this$0, this$static);
  singleton.isFirstHandler = false;
}

function Event$NativePreviewEvent_0(){
}

defineSeed(300, 28, {}, Event$NativePreviewEvent_0);
_.dispatch = function dispatch_9(handler){
  $dispatch_2(this, dynamicCast(handler, Q$Event$NativePreviewHandler));
}
;
_.getAssociatedType = function getAssociatedType_10(){
  return TYPE_9;
}
;
_.isCanceled_0 = function isCanceled(){
  return this.isCanceled;
}
;
_.isConsumed_0 = function isConsumed(){
  return this.isConsumed;
}
;
_.revive = function revive_0(){
  this.dead = false;
  this.source = null;
  this.isCanceled = false;
  this.isConsumed = false;
  this.isFirstHandler = true;
  this.nativeEvent = null;
}
;
_.setNativeEvent = function setNativeEvent(nativeEvent){
  this.nativeEvent = nativeEvent;
}
;
_.isCanceled = false;
_.isConsumed = false;
_.isFirstHandler = false;
_.nativeEvent = null;
function addValueChangeHandler(handler){
  $clinit_History();
  return impl_0?$addValueChangeHandler(impl_0, handler):null;
}

function addResizeHandler(handler){
  maybeInitializeCloseHandlers();
  maybeInitializeResizeHandlers();
  return addHandler((!TYPE_7 && (TYPE_7 = new GwtEvent$Type_0) , TYPE_7), handler);
}

function maybeInitializeResizeHandlers(){
  if (!resizeHandlersInitialized) {
    $initHandler("function __gwt_initWindowResizeHandler(resize) {\n  var wnd = window, oldOnResize = wnd.onresize;\n  \n  wnd.onresize = function(evt) {\n    try {\n      resize();\n    } finally {\n      oldOnResize && oldOnResize(evt);\n    }\n  };\n  \n  // Remove the reference once we've initialize the handler\n  wnd.__gwt_initWindowResizeHandler = undefined;\n}\n", new WindowImplIE$2_0);
    resizeHandlersInitialized = true;
  }
}

function onResize(){
  var height, width;
  if (resizeHandlersInitialized) {
    width = $getClientWidth($doc);
    height = $getClientHeight($doc);
    if (lastResizeWidth != width || lastResizeHeight != height) {
      lastResizeWidth = width;
      lastResizeHeight = height;
      fire_1((!handlers_1 && (handlers_1 = new Window$WindowHandlers_0) , handlers_1));
    }
  }
}

var lastResizeHeight = 0, lastResizeWidth = 0, resizeHandlersInitialized = false;
function $insertChild(parent_0, child, index){
  index >= parent_0.children.length?parent_0.appendChild(child):parent_0.insertBefore(child, parent_0.children[index]);
}

function $get_1(this$static, elem){
  var index;
  index = getIndex(elem);
  if (index < 0) {
    return null;
  }
  return dynamicCast($get_3(this$static.uiObjectList, index), Q$UIObject);
}

function $put(this$static, uiObject){
  var index;
  if (!this$static.freeList) {
    index = this$static.uiObjectList.size_0;
    $add_7(this$static.uiObjectList, uiObject);
  }
   else {
    index = this$static.freeList.index_0;
    $set_1(this$static.uiObjectList, index, uiObject);
    this$static.freeList = this$static.freeList.next;
  }
  uiObject.element['__uiObjectID'] = index;
}

function $removeByElement(this$static, elem){
  var index;
  index = getIndex(elem);
  elem['__uiObjectID'] = null;
  $set_1(this$static.uiObjectList, index, null);
  this$static.freeList = new ElementMapperImpl$FreeNode_0(index, this$static.freeList);
}

function ElementMapperImpl_0(){
  this.uiObjectList = new ArrayList_0;
}

function getIndex(elem){
  var index = elem['__uiObjectID'];
  return index == null?-1:index;
}

defineSeed(308, 1, {}, ElementMapperImpl_0);
_.freeList = null;
function ElementMapperImpl$FreeNode_0(index, next){
  this.index_0 = index;
  this.next = next;
}

defineSeed(309, 1, {}, ElementMapperImpl$FreeNode_0);
_.index_0 = 0;
_.next = null;
function WindowImplIE$2_0(){
}

defineSeed(314, 1, {}, WindowImplIE$2_0);
_.execute_0 = function execute_4(){
  $wnd.__gwt_initWindowResizeHandler($entry(onResize));
}
;
function $add_2(this$static, w){
  $add_4(dynamicCast(this$static.widget, Q$SimplePanel), w);
}

function CaptionPanel_0(){
  var fieldSet;
  fieldSet = $createElement($doc, 'fieldset');
  $initWidget(this, new SimplePanel_0(fieldSet));
  this.legend = $createElement($doc, 'legend');
  $appendChild(fieldSet, this.legend);
  $setCaption(this.element, this.legend, '');
}

defineSeed(362, 39, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), CaptionPanel_0);
_.iterator = function iterator_1(){
  return new SimplePanel$1_0(dynamicCast(this.widget, Q$SimplePanel));
}
;
_.remove = function remove_2(w){
  return $remove_3(dynamicCast(this.widget, Q$SimplePanel), w);
}
;
_.legend = null;
function $setCaption(fieldset, legend, caption){
  $setInnerText(legend, caption);
  $equals('', caption)?!!legend.parentNode && fieldset.removeChild(legend):$insertBefore(fieldset, legend, fieldset.firstChild);
}

function $cleanupCaptureState(this$static){
  if (this$static.isCapturing || this$static.isFocusing) {
    releaseCapture(this$static.element);
    this$static.isCapturing = false;
    this$static.isFocusing = false;
    (1 & (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID)) > 0 && $toggleDown(this$static);
  }
}

function $getFaceFromID(this$static, id){
  switch (id) {
    case 1:
      return !this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down;
    case 0:
      return this$static.up;
    case 3:
      return !this$static.downHovering && $setDownHoveringFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down), 'down-hovering', 3)) , this$static.downHovering;
    case 2:
      return !this$static.upHovering && $setUpHoveringFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'up-hovering', 2)) , this$static.upHovering;
    case 4:
      return !this$static.upDisabled && $setUpDisabledFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'up-disabled', 4)) , this$static.upDisabled;
    case 5:
      return !this$static.downDisabled && $setDownDisabledFace(this$static, new CustomButton$2_0(this$static, (!this$static.down && $setDownFace(this$static, new CustomButton$2_0(this$static, this$static.up, 'down', 1)) , this$static.down), 'down-disabled', 5)) , this$static.downDisabled;
    default:throw new IllegalStateException_1(id + ' is not a known face id.');
  }
}

function $onClick_0(this$static){
  var evt, evt_0;
  this$static.allowClick = true;
  evt = (evt_0 = $doc.createEventObject() , evt_0.type = 'click' , evt_0.detail = 1 , evt_0.screenX = 0 , evt_0.screenY = 0 , evt_0.clientX = 0 , evt_0.clientY = 0 , evt_0.ctrlKey = false , evt_0.altKey = false , evt_0.shiftKey = false , evt_0.metaKey = false , evt_0.button = 1 , evt_0.relatedTarget = null , evt_0);
  $dispatchEvent(this$static.element, evt);
  this$static.allowClick = false;
}

function $setCurrentFace(this$static, faceID){
  var newFace;
  newFace = $getFaceFromID(this$static, faceID);
  $setCurrentFace_0(this$static, newFace);
}

function $setCurrentFace_0(this$static, newFace){
  var pressed;
  if (this$static.curFace != newFace) {
    !!this$static.curFace && $removeStyleDependentName(this$static, this$static.curFace.val$name);
    this$static.curFace = newFace;
    $setCurrentFaceElement(this$static, $getFace(newFace));
    $addStyleDependentName(this$static, this$static.curFace.val$name);
    !this$static.element['disabled'] && (pressed = (newFace.val$faceID & 1) == 1 , $clinit_Roles() , $setAriaPressedState(this$static.element, ($clinit_PressedValue() , pressed?TRUE:FALSE)) , undefined);
  }
}

function $setCurrentFaceElement(this$static, newFaceElement){
  if (this$static.curFaceElement != newFaceElement) {
    !!this$static.curFaceElement && $removeChild(this$static.element, this$static.curFaceElement);
    this$static.curFaceElement = newFaceElement;
    appendChild(this$static.element, this$static.curFaceElement);
  }
}

function $setDownDisabledFace(this$static, downDisabled){
  this$static.downDisabled = downDisabled;
}

function $setDownFace(this$static, down){
  this$static.down = down;
}

function $setDownHoveringFace(this$static, downHovering){
  this$static.downHovering = downHovering;
}

function $setUpDisabledFace(this$static, upDisabled){
  this$static.upDisabled = upDisabled;
}

function $setUpFace(this$static, up){
  this$static.up = up;
}

function $setUpHoveringFace(this$static, upHovering){
  this$static.upHovering = upHovering;
}

function $toggleDown(this$static){
  var newFaceID;
  newFaceID = (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 1;
  $setCurrentFace(this$static, newFaceID);
}

function $toggleHover(this$static){
  var newFaceID;
  newFaceID = (!this$static.curFace && $setCurrentFace_0(this$static, this$static.up) , this$static.curFace.val$faceID) ^ 2;
  newFaceID &= -5;
  $setCurrentFace(this$static, newFaceID);
}

defineSeed(365, 360, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]));
_.getTabIndex = function getTabIndex_0(){
  return this.element.tabIndex;
}
;
_.onAttach = function onAttach_2(){
  !this.curFace && $setCurrentFace_0(this, this.up);
  $onAttach_0(this);
}
;
_.onBrowserEvent = function onBrowserEvent_1(event_0){
  var keyCode, to, type;
  if (this.element['disabled']) {
    return;
  }
  type = $eventGetTypeInt(event_0.type);
  switch (type) {
    case 1:
      if (!this.allowClick) {
        event_0.cancelBubble = true;
        return;
      }

      break;
    case 4:
      if ((event_0.button || 0) == 1) {
        $focus(this.element);
        (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
        setCapture(this.element);
        this.isCapturing = true;
        $eventPreventDefault(event_0);
      }

      break;
    case 8:
      if (this.isCapturing) {
        this.isCapturing = false;
        releaseCapture(this.element);
        (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace).val$faceID) > 0 && (event_0.button || 0) == 1 && ((1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this) , $onClick_0(this));
      }

      break;
    case 64:
      this.isCapturing && $eventPreventDefault(event_0);
      break;
    case 32:
      to = event_0.relatedTarget || event_0.toElement;
      if (isOrHasChild(this.element, event_0.srcElement) && (!to || !isOrHasChild(this.element, to))) {
        this.isCapturing && (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
        (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
      }

      break;
    case 16:
      if (isOrHasChild(this.element, event_0.srcElement)) {
        (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleHover(this);
        this.isCapturing && (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
      }

      break;
    case 4096:
      if (this.isFocusing) {
        this.isFocusing = false;
        (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
      }

      break;
    case 8192:
      if (this.isCapturing) {
        this.isCapturing = false;
        (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
      }

  }
  $onBrowserEvent(this, event_0);
  if (($eventGetTypeInt(event_0.type) & 896) != 0) {
    keyCode = (event_0.keyCode || 0) & 65535;
    switch (type) {
      case 128:
        if (keyCode == 32) {
          this.isFocusing = true;
          (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
        }

        break;
      case 512:
        if (this.isFocusing && keyCode == 32) {
          this.isFocusing = false;
          (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
          $onClick_0(this);
        }

        break;
      case 256:
        if (keyCode == 10 || keyCode == 13) {
          (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) <= 0 && $toggleDown(this);
          (1 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleDown(this);
          $onClick_0(this);
        }

    }
  }
}
;
_.onDetach = function onDetach_1(){
  $onDetach(this);
  $cleanupCaptureState(this);
  (2 & (!this.curFace && $setCurrentFace_0(this, this.up) , this.curFace.val$faceID)) > 0 && $toggleHover(this);
}
;
_.setTabIndex = function setTabIndex_0(index){
  $setTabIndex(this.element, index);
}
;
_.allowClick = false;
_.curFace = null;
_.curFaceElement = null;
_.down = null;
_.downDisabled = null;
_.downHovering = null;
_.isCapturing = false;
_.isFocusing = false;
_.up = null;
_.upDisabled = null;
_.upHovering = null;
function $getFace(this$static){
  if (!this$static.face) {
    if (!this$static.delegateTo) {
      this$static.face = $createElement($doc, 'div');
      return this$static.face;
    }
     else {
      return $getFace(this$static.delegateTo);
    }
  }
   else {
    return this$static.face;
  }
}

function $setHTML_0(this$static, html){
  this$static.face = $createElement($doc, 'div');
  setStyleName(this$static.face, 'html-face', true);
  $setInnerHTML(this$static.face, html);
  !!this$static.this$0.curFace && $getFace(this$static.this$0.curFace) == $getFace(this$static) && $setCurrentFaceElement(this$static.this$0, this$static.face);
}

defineSeed(367, 1, {});
_.toString$ = function toString_10(){
  return this.val$name;
}
;
_.delegateTo = null;
_.face = null;
_.this$0 = null;
function CustomButton$2_0(this$0, $anonymous0, val$name, val$faceID){
  this.val$name = val$name;
  this.val$faceID = val$faceID;
  this.this$0 = this$0;
  this.delegateTo = $anonymous0;
}

defineSeed(366, 367, {}, CustomButton$2_0);
_.val$faceID = 0;
_.val$name = null;
function $checkCellBounds(this$static, row, column){
  var cellSize;
  $checkRowBounds(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Column ' + column + ' must be non-negative: ' + column);
  }
  cellSize = this$static.numColumns;
  if (cellSize <= column) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $checkRowBounds(this$static, row){
  var rowSize;
  rowSize = this$static.numRows;
  if (row >= rowSize || row < 0) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + rowSize);
  }
}

function $cleanCell(this$static, row, column, clearInnerHTML){
  var td;
  td = $getRawElement(this$static.cellFormatter, row, column);
  $internalClearCell(this$static, td, clearInnerHTML);
  return td;
}

function $getEventTargetCell(this$static, event_0){
  var body, td, tr;
  td = event_0.srcElement;
  for (; td; td = $getParentElement(td)) {
    if ($equalsIgnoreCase($getPropertyString(td, 'tagName'), 'td')) {
      tr = $getParentElement(td);
      body = $getParentElement(tr);
      if (body == this$static.bodyElem) {
        return td;
      }
    }
    if (td == this$static.bodyElem) {
      return null;
    }
  }
  return null;
}

function $internalClearCell(this$static, td, clearInnerHTML){
  var maybeChild, widget;
  maybeChild = $getFirstChildElement(td);
  widget = null;
  !!maybeChild && (widget = dynamicCast($get_1(this$static.widgetMap, maybeChild), Q$Widget));
  if (widget) {
    $remove_2(this$static, widget);
    return true;
  }
   else {
    clearInnerHTML && $setInnerHTML(td, '');
    return false;
  }
}

function $remove_2(this$static, widget){
  var elem;
  if (widget.parent_0 != this$static) {
    return false;
  }
  try {
    $setParent(widget, null);
  }
   finally {
    elem = widget.element;
    $removeChild($getParentElement(elem), elem);
    $removeByElement(this$static.widgetMap, elem);
  }
  return true;
}

function $removeRow(this$static, row){
  var column, columnCount;
  columnCount = this$static.numColumns;
  for (column = 0; column < columnCount; ++column) {
    $cleanCell(this$static, row, column, false);
  }
  $removeChild(this$static.bodyElem, $getRow(this$static.bodyElem, row));
}

function $setCellFormatter(this$static, cellFormatter){
  this$static.cellFormatter = cellFormatter;
}

function $setColumnFormatter(this$static, formatter){
  !!this$static.columnFormatter && (formatter.columnGroup = this$static.columnFormatter.columnGroup);
  this$static.columnFormatter = formatter;
  $prepareColumnGroup(this$static.columnFormatter);
}

function $setText(this$static, column, text){
  var td;
  $prepareCell(this$static, 0, column);
  td = $cleanCell(this$static, 0, column, text == null);
  text != null && $setInnerText(td, text);
}

function $setWidget(this$static, row, column, widget){
  var td;
  $prepareCell(this$static, row, column);
  td = $cleanCell(this$static, row, column, true);
  if (widget) {
    $removeFromParent(widget);
    $put(this$static.widgetMap, widget);
    appendChild(td, widget.element);
    $setParent(widget, this$static);
  }
}

defineSeed(370, 355, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.iterator = function iterator_2(){
  return new HTMLTable$1_0(this);
}
;
_.remove = function remove_3(widget){
  return $remove_2(this, widget);
}
;
_.bodyElem = null;
_.cellFormatter = null;
_.columnFormatter = null;
_.tableElem = null;
function $prepareCell(this$static, row, column){
  $prepareRow(this$static, row);
  if (column < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a column with a negative index: ' + column);
  }
  if (column >= this$static.numColumns) {
    throw new IndexOutOfBoundsException_1('Column index: ' + column + ', Column size: ' + this$static.numColumns);
  }
}

function $prepareRow(this$static, row){
  if (row < 0) {
    throw new IndexOutOfBoundsException_1('Cannot access a row with a negative index: ' + row);
  }
  if (row >= this$static.numRows) {
    throw new IndexOutOfBoundsException_1('Row index: ' + row + ', Row size: ' + this$static.numRows);
  }
}

function $removeRow_0(this$static, row){
  $removeRow(this$static, row);
  --this$static.numRows;
}

function $resizeColumns(this$static, columns){
  var i, j, td, tr, tr_0, td_0, td_1;
  if (this$static.numColumns == columns) {
    return;
  }
  if (columns < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of columns to ' + columns);
  }
  if (this$static.numColumns > columns) {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns - 1; j >= columns; --j) {
        $checkCellBounds(this$static, i, j);
        td = $cleanCell(this$static, i, j, false);
        tr = $getRow(this$static.bodyElem, i);
        tr.removeChild(td);
      }
    }
  }
   else {
    for (i = 0; i < this$static.numRows; ++i) {
      for (j = this$static.numColumns; j < columns; ++j) {
        tr_0 = $getRow(this$static.bodyElem, i);
        td_0 = (td_1 = $createElement($doc, 'td') , $setInnerHTML(td_1, '&nbsp;') , td_1);
        $insertChild(tr_0, ($clinit_PotentialElement() , $resolve(td_0)), j);
      }
    }
  }
  this$static.numColumns = columns;
  $resizeColumnGroup(this$static.columnFormatter, columns, false);
}

function $resizeRows(this$static, rows){
  if (this$static.numRows == rows) {
    return;
  }
  if (rows < 0) {
    throw new IndexOutOfBoundsException_1('Cannot set number of rows to ' + rows);
  }
  if (this$static.numRows < rows) {
    addRows(this$static.bodyElem, rows - this$static.numRows, this$static.numColumns);
    this$static.numRows = rows;
  }
   else {
    while (this$static.numRows > rows) {
      $removeRow_0(this$static, this$static.numRows - 1);
    }
  }
}

function Grid_0(){
  this.widgetMap = new ElementMapperImpl_0;
  this.tableElem = $createElement($doc, 'table');
  this.bodyElem = $createElement($doc, 'tbody');
  appendChild(this.tableElem, this.bodyElem);
  $setElement(this, this.tableElem);
  $setCellFormatter(this, new HTMLTable$CellFormatter_0(this));
  $setColumnFormatter(this, new HTMLTable$ColumnFormatter_0(this));
}

function Grid_1(){
  Grid_0.call(this);
  $resizeColumns(this, 3);
  $resizeRows(this, 1);
}

function addRows(table, rows, columns){
  var td = $doc.createElement('td');
  td.innerHTML = '&nbsp;';
  var row = $doc.createElement('tr');
  for (var cellNum = 0; cellNum < columns; cellNum++) {
    var cell = td.cloneNode(true);
    row.appendChild(cell);
  }
  table.appendChild(row);
  for (var rowNum = 1; rowNum < rows; rowNum++) {
    table.appendChild(row.cloneNode(true));
  }
}

defineSeed(369, 370, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), Grid_1);
_.numColumns = 0;
_.numRows = 0;
function $findNext(this$static){
  while (++this$static.nextIndex < this$static.widgetList.size_0) {
    if ($get_3(this$static.widgetList, this$static.nextIndex) != null) {
      return;
    }
  }
}

function $next(this$static){
  var result;
  if (this$static.nextIndex >= this$static.widgetList.size_0) {
    throw new NoSuchElementException_0;
  }
  result = dynamicCast($get_3(this$static.widgetList, this$static.nextIndex), Q$Widget);
  this$static.lastIndex = this$static.nextIndex;
  $findNext(this$static);
  return result;
}

function HTMLTable$1_0(this$0){
  this.this$0 = this$0;
  this.widgetList = this.this$0.widgetMap.uiObjectList;
  $findNext(this);
}

defineSeed(372, 1, {}, HTMLTable$1_0);
_.hasNext = function hasNext(){
  return this.nextIndex < this.widgetList.size_0;
}
;
_.next_0 = function next_0(){
  return $next(this);
}
;
_.remove_0 = function remove_4(){
  var w;
  if (this.lastIndex < 0) {
    throw new IllegalStateException_0;
  }
  w = dynamicCast($get_3(this.widgetList, this.lastIndex), Q$Widget);
  $removeFromParent(w);
  this.lastIndex = -1;
}
;
_.lastIndex = -1;
_.nextIndex = -1;
_.this$0 = null;
function $getCellElement(table, row, col){
  return table.rows[row].cells[col];
}

function $getRawElement(this$static, row, column){
  return $getCellElement(this$static.this$0.bodyElem, row, column);
}

function $setStyleName_1(this$static, column, styleName){
  $prepareCell(this$static.this$0, 0, column);
  $getCellElement(this$static.this$0.bodyElem, 0, column)['className'] = styleName;
}

function HTMLTable$CellFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(373, 1, {}, HTMLTable$CellFormatter_0);
_.this$0 = null;
function $prepareColumnGroup(this$static){
  if (!this$static.columnGroup) {
    this$static.columnGroup = $createElement($doc, 'colgroup');
    insertChild(this$static.this$0.tableElem, this$static.columnGroup);
    appendChild(this$static.columnGroup, $createElement($doc, 'col'));
  }
}

function $resizeColumnGroup(this$static, columns, growOnly){
  var i, num;
  columns = columns > 1?columns:1;
  num = this$static.columnGroup.childNodes.length;
  if (num < columns) {
    for (i = num; i < columns; ++i) {
      $appendChild(this$static.columnGroup, $createElement($doc, 'col'));
    }
  }
   else if (!growOnly && num > columns) {
    for (i = num; i > columns; --i) {
      $removeChild(this$static.columnGroup, this$static.columnGroup.lastChild);
    }
  }
}

function HTMLTable$ColumnFormatter_0(this$0){
  this.this$0 = this$0;
}

defineSeed(374, 1, {}, HTMLTable$ColumnFormatter_0);
_.columnGroup = null;
_.this$0 = null;
function $getRow(elem, row){
  return elem.rows[row];
}

function $clinit_Image(){
  $clinit_Image = nullMethod;
  new HashMap_0;
}

function $changeState(this$static, newState){
  this$static.state = newState;
}

function Image_1(){
  $clinit_Image();
  $changeState(this, new Image$UnclippedState_0(this));
  this.element['className'] = 'gwt-Image';
}

defineSeed(380, 40, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), Image_1);
_.onBrowserEvent = function onBrowserEvent_2(event_0){
  $eventGetTypeInt(event_0.type) == 32768 && !!this.state && (this.element['__gwtLastUnhandledEvent'] = '' , undefined);
  $onBrowserEvent(this, event_0);
}
;
_.onLoad = function onLoad_1(){
  $onLoad(this.state, this);
}
;
_.state = null;
function $onLoad(this$static, image){
  var unhandledEvent;
  unhandledEvent = $getPropertyString(image.element, '__gwtLastUnhandledEvent');
  $equals('load', unhandledEvent) && (this$static.syntheticEventCommand = new Image$State$1_0(this$static, image) , $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), this$static.syntheticEventCommand));
}

defineSeed(381, 1, {});
_.syntheticEventCommand = null;
function Image$State$1_0(this$1, val$image){
  this.this$1 = this$1;
  this.val$image = val$image;
}

defineSeed(382, 1, {}, Image$State$1_0);
_.execute_0 = function execute_7(){
  var evt, evt_0;
  if (this.val$image.state != this.this$1 || this != this.this$1.syntheticEventCommand) {
    return;
  }
  this.this$1.syntheticEventCommand = null;
  if (!this.val$image.attached) {
    this.val$image.element['__gwtLastUnhandledEvent'] = 'load';
    return;
  }
  evt = (evt_0 = $doc.createEventObject() , evt_0.type = 'load' , evt_0);
  $dispatchEvent(this.val$image.element, evt);
}
;
_.this$1 = null;
_.val$image = null;
function $setUrl(image, url){
  !!image.state && (image.element['__gwtLastUnhandledEvent'] = '' , undefined);
  $imgSetSrc(image.element, url.uri);
}

function Image$UnclippedState_0(image){
  $replaceElement(image, $createElement($doc, 'img'));
  sinkEvents_0(image.element);
  image.eventsToSink == -1?sinkEvents(image.element, 133398655 | (image.element.__eventBits || 0)):(image.eventsToSink |= 133398655);
}

defineSeed(383, 381, {}, Image$UnclippedState_0);
function $checkIndex(this$static, index){
  if (index < 0 || index >= this$static.element.options.length) {
    throw new IndexOutOfBoundsException_0;
  }
}

function $getValue(this$static, index){
  $checkIndex(this$static, index);
  return this$static.element.options[index].value;
}

function $insertItem(this$static, item, value, index){
  var before, itemCount, option, select;
  select = this$static.element;
  option = $createElement($doc, 'option');
  option.text = item;
  option.removeAttribute('bidiwrapped');
  option.value = value;
  itemCount = select.options.length;
  (index < 0 || index > itemCount) && (index = itemCount);
  if (index == itemCount) {
    $selectAdd(select, option, null);
  }
   else {
    before = select.options[index];
    $selectAdd(select, option, before);
  }
}

function ListBox_0(){
  var html;
  FocusWidget_0.call(this, (html = '<SELECT>' , $doc.createElement(html)));
  this.element['className'] = 'gwt-ListBox';
}

defineSeed(386, 361, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), ListBox_0);
function $setText_0(this$static, text){
  this$static.element['value'] = text != null?text:'';
}

function $add_4(this$static, w){
  if (this$static.widget) {
    throw new IllegalStateException_1('SimplePanel can only contain one child widget');
  }
  this$static.setWidget(w);
}

function $remove_3(this$static, w){
  if (this$static.widget != w) {
    return false;
  }
  try {
    $setParent(w, null);
  }
   finally {
    $removeChild(this$static.getContainerElement(), w.element);
    this$static.widget = null;
  }
  return true;
}

function $setWidget_0(this$static, w){
  if (w == this$static.widget) {
    return;
  }
  !!w && $removeFromParent(w);
  !!this$static.widget && $remove_3(this$static, this$static.widget);
  this$static.widget = w;
  if (w) {
    appendChild(this$static.getContainerElement(), this$static.widget.element);
    $setParent(w, this$static);
  }
}

function SimplePanel_0(elem){
  this.element = elem;
}

defineSeed(392, 355, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$SimplePanel, Q$UIObject, Q$Widget]), SimplePanel_0);
_.getContainerElement = function getContainerElement(){
  return this.element;
}
;
_.iterator = function iterator_3(){
  return new SimplePanel$1_0(this);
}
;
_.remove = function remove_6(w){
  return $remove_3(this, w);
}
;
_.setWidget = function setWidget(w){
  $setWidget_0(this, w);
}
;
_.widget = null;
function $addAutoHidePartner(this$static, partner){
  !this$static.autoHidePartners && (this$static.autoHidePartners = new ArrayList_0);
  $add_7(this$static.autoHidePartners, partner);
}

function $eventTargetsPartner(this$static, event_0){
  var elem, elem$iterator, target;
  if (!this$static.autoHidePartners) {
    return false;
  }
  target = event_0.srcElement;
  if (is_0(target)) {
    for (elem$iterator = new AbstractList$IteratorImpl_0(this$static.autoHidePartners); elem$iterator.i < elem$iterator.this$0_0.size_1();) {
      elem = dynamicCastJso($next_3(elem$iterator));
      if (isOrHasChildImpl(elem, target)) {
        return true;
      }
    }
  }
  return false;
}

function $eventTargetsPopup(this$static, event_0){
  var target;
  target = event_0.srcElement;
  if (is_0(target)) {
    return isOrHasChildImpl(this$static.element, target);
  }
  return false;
}

function $hide(this$static){
  if (!this$static.showing) {
    return;
  }
  $setState(this$static.resizeAnimation, false, false);
  fire_0(this$static);
}

function $maybeUpdateSize(this$static){
  var w;
  w = this$static.widget;
  if (w) {
    this$static.desiredHeight != null && w.setHeight(this$static.desiredHeight);
    this$static.desiredWidth != null && w.setWidth(this$static.desiredWidth);
  }
}

function $position(this$static, relativeObject, offsetWidth, offsetHeight){
  var distanceFromWindowLeft, distanceFromWindowTop, distanceToWindowBottom, distanceToWindowRight, left, offsetWidthDiff, textBoxOffsetWidth, top_0, windowBottom, windowLeft, windowRight, windowTop;
  textBoxOffsetWidth = $getPropertyInt(relativeObject.element, 'offsetWidth');
  offsetWidthDiff = offsetWidth - textBoxOffsetWidth;
  $clinit_LocaleInfo();
  left = $getAbsoluteLeft(relativeObject.element);
  if (offsetWidthDiff > 0) {
    windowRight = $getClientWidth($doc) + $getScrollLeft_0($doc);
    windowLeft = $getScrollLeft_0($doc);
    distanceToWindowRight = windowRight - left;
    distanceFromWindowLeft = left - windowLeft;
    distanceToWindowRight < offsetWidth && distanceFromWindowLeft >= offsetWidthDiff && (left -= offsetWidthDiff);
  }
  top_0 = $getAbsoluteTop(relativeObject.element);
  windowTop = $getScrollTop($doc);
  windowBottom = $getScrollTop($doc) + $getClientHeight($doc);
  distanceFromWindowTop = top_0 - windowTop;
  distanceToWindowBottom = windowBottom - (top_0 + $getPropertyInt(relativeObject.element, 'offsetHeight'));
  distanceToWindowBottom < offsetHeight && distanceFromWindowTop >= offsetHeight?(top_0 -= offsetHeight):(top_0 += $getPropertyInt(relativeObject.element, 'offsetHeight'));
  $setPopupPosition(this$static, left, top_0);
}

function $previewNativeEvent(this$static, event_0){
  var eventTargetsPopupOrPartner, nativeEvent, target, type;
  if (event_0.isCanceled || !this$static.previewAllNativeEvents && event_0.isConsumed) {
    this$static.modal && (event_0.isCanceled = true);
    return;
  }
  event_0.isFirstHandler && (event_0.nativeEvent , false) && (event_0.isCanceled = true);
  if (event_0.isCanceled) {
    return;
  }
  nativeEvent = event_0.nativeEvent;
  eventTargetsPopupOrPartner = $eventTargetsPopup(this$static, nativeEvent) || $eventTargetsPartner(this$static, nativeEvent);
  eventTargetsPopupOrPartner && (event_0.isConsumed = true);
  this$static.modal && (event_0.isCanceled = true);
  type = $eventGetTypeInt(nativeEvent.type);
  switch (type) {
    case 512:
    case 256:
    case 128:
      {
        ((nativeEvent.keyCode || 0) & 65535 , (nativeEvent.shiftKey?1:0) | (nativeEvent.metaKey?8:0) | (nativeEvent.ctrlKey?2:0) | (nativeEvent.altKey?4:0) , true) || (event_0.isCanceled = true);
        return;
      }

    case 4:
    case 1048576:
      if (sCaptureElem) {
        event_0.isConsumed = true;
        return;
      }

      if (!eventTargetsPopupOrPartner && this$static.autoHide) {
        $hide(this$static);
        return;
      }

      break;
    case 8:
    case 64:
    case 1:
    case 2:
    case 4194304:
      {
        if (sCaptureElem) {
          event_0.isConsumed = true;
          return;
        }
        break;
      }

    case 2048:
      {
        target = nativeEvent.srcElement;
        if (this$static.modal && !eventTargetsPopupOrPartner && !!target) {
          target.blur && target != $doc.body && target.blur();
          event_0.isCanceled = true;
          return;
        }
        break;
      }

  }
}

function $setPopupPosition(this$static, left, top_0){
  var elem;
  this$static.leftPosition = left;
  this$static.topPosition = top_0;
  left -= $getBodyOffsetLeft($doc);
  top_0 -= $getBodyOffsetTop($doc);
  elem = this$static.element;
  elem.style['left'] = left + ($clinit_Style$Unit() , 'px');
  elem.style['top'] = top_0 + 'px';
}

function $setPopupPositionAndShow(this$static, callback){
  this$static.element.style['visibility'] = 'hidden';
  this$static.element;
  $show(this$static);
  $setPosition(callback, $getPropertyInt(this$static.element, 'offsetWidth'), $getPropertyInt(this$static.element, 'offsetHeight'));
  this$static.element.style['visibility'] = 'visible';
  this$static.element;
}

function $setWidget_1(this$static, w){
  $setWidget_0(this$static, w);
  $maybeUpdateSize(this$static);
}

function $show(this$static){
  if (this$static.showing) {
    return;
  }
   else 
    this$static.attached && $removeFromParent(this$static);
  $setState(this$static.resizeAnimation, true, false);
}

function $showRelativeTo(this$static, target){
  $setPopupPositionAndShow(this$static, new PopupPanel$2_0(this$static, target));
}

function $updateHandlers(this$static){
  if (this$static.nativePreviewHandlerRegistration) {
    $removeHandler(this$static.nativePreviewHandlerRegistration.real);
    this$static.nativePreviewHandlerRegistration = null;
  }
  if (this$static.historyHandlerRegistration) {
    $removeHandler(this$static.historyHandlerRegistration.real);
    this$static.historyHandlerRegistration = null;
  }
  if (this$static.showing) {
    this$static.nativePreviewHandlerRegistration = addNativePreviewHandler(new PopupPanel$3_0(this$static));
    this$static.historyHandlerRegistration = addValueChangeHandler(new PopupPanel$4_0(this$static));
  }
}

function PopupPanel_0(){
  SimplePanel_0.call(this, $createElement($doc, 'div'));
  this.glassResizer = new PopupPanel$1_0;
  this.resizeAnimation = new PopupPanel$ResizeAnimation_0(this);
  $appendChild(this.element, $createElement($doc, 'div'));
  $setPopupPosition(this, 0, 0);
  $getParentElement($getFirstChildElement(this.element))['className'] = 'gwt-PopupPanel';
  $getFirstChildElement(this.element)['className'] = 'popupContent';
  this.autoHide = true;
  this.autoHideOnHistoryEvents = true;
}

defineSeed(391, 392, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$SimplePanel, Q$UIObject, Q$Widget]), PopupPanel_0);
_.getContainerElement = function getContainerElement_0(){
  return $getFirstChildElement(this.element);
}
;
_.getStyleElement = function getStyleElement_0(){
  return $getParentElement($getFirstChildElement(this.element));
}
;
_.onUnload = function onUnload_0(){
  this.showing && $setState(this.resizeAnimation, false, true);
}
;
_.setHeight = function setHeight_0(height){
  this.desiredHeight = height;
  $maybeUpdateSize(this);
  height.length == 0 && (this.desiredHeight = null);
}
;
_.setWidget = function setWidget_0(w){
  $setWidget_1(this, w);
}
;
_.setWidth = function setWidth_0(width){
  this.desiredWidth = width;
  $maybeUpdateSize(this);
  width.length == 0 && (this.desiredWidth = null);
}
;
_.autoHide = false;
_.autoHideOnHistoryEvents = false;
_.autoHidePartners = null;
_.desiredHeight = null;
_.desiredWidth = null;
_.glass = null;
_.historyHandlerRegistration = null;
_.isGlassEnabled = false;
_.leftPosition = -1;
_.modal = false;
_.nativePreviewHandlerRegistration = null;
_.previewAllNativeEvents = false;
_.showing = false;
_.topPosition = -1;
function $onResize(){
  var height, style, width, winHeight, winWidth;
  style = null.nullMethod();
  winWidth = $getClientWidth($doc);
  winHeight = $getClientHeight($doc);
  style['display'] = ($clinit_Style$Display() , 'none');
  style['width'] = 0 + ($clinit_Style$Unit() , 'px');
  style['height'] = '0px';
  width = $getScrollWidth($doc);
  height = $getScrollHeight($doc);
  style['width'] = (width > winWidth?width:winWidth) + 'px';
  style['height'] = (height > winHeight?height:winHeight) + 'px';
  style['display'] = 'block';
}

function PopupPanel$1_0(){
}

defineSeed(393, 1, makeCastMap([Q$ResizeHandler, Q$EventHandler]), PopupPanel$1_0);
function $setPosition(this$static, offsetWidth, offsetHeight){
  $position(this$static.this$0, this$static.val$target, offsetWidth, offsetHeight);
}

function PopupPanel$2_0(this$0, val$target){
  this.this$0 = this$0;
  this.val$target = val$target;
}

defineSeed(394, 1, {}, PopupPanel$2_0);
_.this$0 = null;
_.val$target = null;
function PopupPanel$3_0(this$0){
  this.this$0 = this$0;
}

defineSeed(395, 1, makeCastMap([Q$EventHandler, Q$Event$NativePreviewHandler]), PopupPanel$3_0);
_.this$0 = null;
function PopupPanel$4_0(this$0){
  this.this$0 = this$0;
}

defineSeed(396, 1, makeCastMap([Q$ValueChangeHandler, Q$EventHandler]), PopupPanel$4_0);
_.onValueChange = function onValueChange_0(event_0){
  this.this$0.autoHideOnHistoryEvents && $hide(this.this$0);
}
;
_.this$0 = null;
function $maybeShowGlass(this$static){
  if (this$static.showing) {
    if (this$static.curPanel.isGlassEnabled) {
      $appendChild($doc.body, this$static.curPanel.glass);
      this$static.resizeRegistration = addResizeHandler(this$static.curPanel.glassResizer);
      $onResize();
      this$static.glassShowing = true;
    }
  }
   else if (this$static.glassShowing) {
    $removeChild($doc.body, this$static.curPanel.glass);
    $removeHandler(this$static.resizeRegistration.real);
    this$static.resizeRegistration = null;
    this$static.glassShowing = false;
  }
}

function $onComplete(this$static){
  if (!this$static.showing) {
    $maybeShowGlass(this$static);
    this$static.isUnloading || $remove_1(($clinit_RootPanel() , get(null)), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['clip'] = 'rect(auto, auto, auto, auto)';
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onInstantaneousRun(this$static){
  $maybeShowGlass(this$static);
  if (this$static.showing) {
    this$static.curPanel.element.style['position'] = 'absolute';
    this$static.curPanel.topPosition != -1 && $setPopupPosition(this$static.curPanel, this$static.curPanel.leftPosition, this$static.curPanel.topPosition);
    $add_1(($clinit_RootPanel() , get(null)), this$static.curPanel);
    this$static.curPanel.element;
  }
   else {
    this$static.isUnloading || $remove_1(($clinit_RootPanel() , get(null)), this$static.curPanel);
    this$static.curPanel.element;
  }
  this$static.curPanel.element.style['overflow'] = 'visible';
}

function $onUpdate(this$static, progress){
  var bottom, height, left, right, top_0, width;
  this$static.showing || (progress = 1 - progress);
  top_0 = 0;
  left = 0;
  right = 0;
  bottom = 0;
  height = round_int(progress * this$static.offsetHeight);
  width = round_int(progress * this$static.offsetWidth);
  switch (0) {
    case 2:
    case 0:
      top_0 = this$static.offsetHeight - height >> 1;
      left = this$static.offsetWidth - width >> 1;
      right = left + width;
      bottom = top_0 + height;
  }
  $setClip(this$static.curPanel.element, 'rect(' + top_0 + 'px, ' + right + 'px, ' + bottom + 'px, ' + left + 'px)');
}

function $setState(this$static, showing, isUnloading){
  this$static.isUnloading = isUnloading;
  $cancel(this$static);
  this$static.curPanel.showing = showing;
  $updateHandlers(this$static.curPanel);
  this$static.showing = showing;
  $onInstantaneousRun(this$static);
}

function PopupPanel$ResizeAnimation_0(panel){
  Animation_0.call(this, ($clinit_AnimationSchedulerImpl() , INSTANCE));
  this.curPanel = panel;
}

defineSeed(397, 65, {}, PopupPanel$ResizeAnimation_0);
_.curPanel = null;
_.glassShowing = false;
_.isUnloading = false;
_.offsetHeight = 0;
_.offsetWidth = -1;
_.resizeRegistration = null;
_.showing = false;
function PushButton_0(){
  var e;
  ButtonBase_0.call(this, (e = $createElement($doc, 'div') , e.tabIndex = 0 , e));
  this.eventsToSink == -1?sinkEvents(this.element, 7165 | (this.element.__eventBits || 0)):(this.eventsToSink |= 7165);
  $setUpFace(this, new CustomButton$2_0(this, null, 'up', 0));
  this.element['className'] = 'gwt-CustomButton';
  $clinit_Roles();
  $set(BUTTON, this.element);
  this.element['className'] = 'gwt-PushButton';
}

defineSeed(399, 365, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget]), PushButton_0);
function $next_0(this$static){
  if (!this$static.hasElement || !this$static.this$0.widget) {
    throw new NoSuchElementException_0;
  }
  this$static.hasElement = false;
  return this$static.returned = this$static.this$0.widget;
}

function SimplePanel$1_0(this$0){
  this.this$0 = this$0;
  this.hasElement = !!this.this$0.widget;
}

defineSeed(404, 1, {}, SimplePanel$1_0);
_.hasNext = function hasNext_0(){
  return this.hasElement;
}
;
_.next_0 = function next_1(){
  return $next_0(this);
}
;
_.remove_0 = function remove_7(){
  !!this.returned && $remove_3(this.this$0, this.returned);
}
;
_.returned = null;
_.this$0 = null;
defineSeed(412, 1, {});
_.remove_0 = function remove_9(){
  $remove_6(this);
}
;
function $focus(elem){
  try {
    elem.focus();
  }
   catch (e) {
    if (!elem || !elem.focus) {
      throw e;
    }
  }
}

function $setClip(popup, rect){
  popup.style['clip'] = rect;
}

function $clinit_CalendarModel(){
  $clinit_CalendarModel = nullMethod;
  dayOfWeekNames = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 7, 0);
  dayOfMonthNames = initDim(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, 32, 0);
}

function $formatCurrentMonth(this$static){
  return $format(getFormat(($clinit_DateTimeFormat$PredefinedFormat() , YEAR_MONTH_ABBR)), this$static.currentMonth, null);
}

function $formatDayOfMonth(date){
  return dayOfMonthNames[date.jsdate.getDate()];
}

function $formatDayOfWeek(dayInWeek){
  return dayOfWeekNames[dayInWeek];
}

function $getCurrentFirstDayOfFirstWeek(this$static){
  var d, offset, start, wkDayOfMonth1st;
  wkDayOfMonth1st = this$static.currentMonth.jsdate.getDay();
  start = ($clinit_CalendarUtil() , $clinit_CalendarUtil() , startingDay);
  if (wkDayOfMonth1st == start) {
    return new Date_3(fromDouble(this$static.currentMonth.jsdate.getTime()));
  }
   else {
    d = new Date_3(fromDouble(this$static.currentMonth.jsdate.getTime()));
    offset = wkDayOfMonth1st - start > 0?wkDayOfMonth1st - start:7 - (start - wkDayOfMonth1st);
    $setDate_0(d, d.jsdate.getDate() + -offset);
    return d;
  }
}

function $isInCurrentMonth(this$static, date){
  return this$static.currentMonth.jsdate.getMonth() == date.jsdate.getMonth();
}

function $setCurrentMonth(this$static, currentDate){
  this$static.currentMonth.setYear(currentDate.jsdate.getFullYear() - 1900);
  this$static.currentMonth.setMonth_0(currentDate.jsdate.getMonth());
}

function $shiftCurrentMonth(this$static, deltaMonths){
  addMonthsToDate(this$static.currentMonth, deltaMonths);
}

function CalendarModel_0(){
  $clinit_CalendarModel();
  var date, dayOfWeek, i;
  this.currentMonth = new Date_1;
  setToFirstDayOfMonth(this.currentMonth);
  date = new Date_1;
  for (i = 1; i <= 7; ++i) {
    $setDate_0(date, i);
    dayOfWeek = date.jsdate.getDay();
    dayOfWeekNames[dayOfWeek] = $format(($clinit_DateTimeFormat_0() , getFormat_0('ccccc', $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_0)))), date, null);
  }
  date.setMonth_0(0);
  for (i = 1; i < 32; ++i) {
    $setDate_0(date, i);
    dayOfMonthNames[i] = $format(($clinit_DateTimeFormat_0() , getFormat_0('d', $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_0)))), date, null);
  }
}

defineSeed(416, 1, {}, CalendarModel_0);
_.currentMonth = null;
var dayOfMonthNames, dayOfWeekNames;
function $clinit_CalendarUtil(){
  $clinit_CalendarUtil = nullMethod;
  var dateTimeFormatInfo;
  dateTimeFormatInfo = $getDateTimeFormatInfo(($clinit_LocaleInfo() , $clinit_LocaleInfo() , instance_0));
  firstDayOfWeekend = 6;
  lastDayOfWeekend = 0;
  startingDay = dateTimeFormatInfo.firstDayOfTheWeek();
}

function addDaysToDate(date, days){
  $clinit_CalendarUtil();
  $setDate_0(date, date.jsdate.getDate() + days);
}

function addMonthsToDate(date, months){
  $clinit_CalendarUtil();
  var month, resultMonth, resultMonthCount, resultYear, year;
  if (months != 0) {
    month = date.jsdate.getMonth();
    year = date.jsdate.getFullYear() - 1900;
    resultMonthCount = year * 12 + month + months;
    resultYear = ~~(resultMonthCount / 12);
    resultMonth = resultMonthCount - resultYear * 12;
    date.setMonth_0(resultMonth);
    date.setYear(resultYear);
  }
}

function copyDate(date){
  $clinit_CalendarUtil();
  var newDate;
  if (!date) {
    return null;
  }
  newDate = new Date_1;
  $setTime_0(newDate, fromDouble(date.jsdate.getTime()));
  return newDate;
}

function getDaysBetween(start, finish){
  $clinit_CalendarUtil();
  var aTime, adjust, bTime;
  start = copyDate(start);
  resetTime(start);
  finish = copyDate(finish);
  resetTime(finish);
  aTime = fromDouble(start.jsdate.getTime());
  bTime = fromDouble(finish.jsdate.getTime());
  adjust = P36ee80_longLit;
  adjust = gt(bTime, aTime)?adjust:neg(adjust);
  return toInt(div(add_0(sub(bTime, aTime), adjust), P5265c00_longLit));
}

function resetTime(date){
  var msec;
  msec = fromDouble(date.jsdate.getTime());
  msec = mul(div(msec, P3e8_longLit), P3e8_longLit);
  $setTime(date.jsdate, toDouble(msec));
  date.setHours_0(12);
  date.setMinutes_0(0);
  date.setSeconds_0(0);
}

function setToFirstDayOfMonth(date){
  $clinit_CalendarUtil();
  resetTime(date);
  $setDate_0(date, 1);
}

var firstDayOfWeekend = 0, lastDayOfWeekend = 0, startingDay = 0;
function $addMonths(this$static, numMonths){
  $shiftCurrentMonth(this$static.datePicker.model, numMonths);
  $refreshAll(this$static.datePicker);
}

defineSeed(419, 39, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]));
_.datePicker = null;
defineSeed(418, 419, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]));
function $getCell(this$static, i){
  return dynamicCast($get_3(this$static.cellList, i), Q$CellGridImpl$Cell);
}

function $isActive(cell){
  return !!cell && cell.enabled;
}

function $setHighlighted(this$static, nextHighlighted){
  var oldHighlighted;
  if (nextHighlighted == this$static.highlightedCell) {
    return;
  }
  oldHighlighted = this$static.highlightedCell;
  this$static.highlightedCell = nextHighlighted;
  !!oldHighlighted && ($fireEvent(oldHighlighted.this$1.this$0.datePicker, new DatePicker$DateHighlightEvent_0) , $updateStyle(oldHighlighted));
  !!this$static.highlightedCell && $onHighlighted(this$static.highlightedCell);
}

function $setSelected(this$static, cell){
  var last;
  last = this$static.selectedCell;
  this$static.selectedCell = cell;
  !!last && $onSelected(last, false);
  !!this$static.selectedCell && $onSelected(this$static.selectedCell, true);
}

defineSeed(420, 369, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]));
_.onBrowserEvent = function onBrowserEvent_4(event_0){
  var cell, e, td;
  switch ($eventGetTypeInt(event_0.type)) {
    case 1:
      {
        cell = (td = $getEventTargetCell(this, event_0) , td?dynamicCast($get_1(this.elementToCell, td), Q$CellGridImpl$Cell):null);
        !!cell && cell.enabled && $setSelected(this, cell);
        break;
      }

    case 32:
      {
        e = event_0.relatedTarget || event_0.fromElement;
        if (e) {
          cell = dynamicCast($get_1(this.elementToCell, e), Q$CellGridImpl$Cell);
          cell == this.highlightedCell && $setHighlighted(this, null);
        }
        break;
      }

    case 16:
      {
        e = event_0.relatedTarget || event_0.toElement;
        if (e) {
          cell = dynamicCast($get_1(this.elementToCell, e), Q$CellGridImpl$Cell);
          !!cell && cell.enabled && $setHighlighted(this, cell);
        }
        break;
      }

  }
}
;
_.onUnload = function onUnload_1(){
  $setHighlighted(this, null);
}
;
_.highlightedCell = null;
_.selectedCell = null;
function CellGridImpl$Cell_0(this$0, elem, value){
  this.this$0 = this$0;
  this.value_0 = value;
  $add_7(this$0.cellList, this);
  !!elem && (this.element = elem , undefined);
  $put(this$0.elementToCell, this);
  $addDomHandler(this, new CellGridImpl$Cell$1_0(this), ($clinit_KeyDownEvent() , $clinit_KeyDownEvent() , TYPE_4));
  $addDomHandler(this, new CellGridImpl$Cell$2_0(this), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_2));
}

function CellGridImpl$Cell_1(this$0, value){
  CellGridImpl$Cell_0.call(this, this$0, $createElement($doc, 'div'), value);
}

defineSeed(421, 40, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget, Q$CellGridImpl$Cell]));
_.enabled = true;
_.this$0 = null;
_.value_0 = null;
function CellGridImpl$Cell$1_0(this$1){
  this.this$1 = this$1;
}

defineSeed(422, 1, makeCastMap([Q$KeyDownHandler, Q$EventHandler]), CellGridImpl$Cell$1_0);
_.onKeyDown = function onKeyDown(event_0){
  ((event_0.nativeEvent.keyCode || 0) == 13 || (event_0.nativeEvent.keyCode || 0) == 32) && $isActive(this.this$1) && $setSelected(this.this$1.this$0, this.this$1);
}
;
_.this$1 = null;
function CellGridImpl$Cell$2_0(this$1){
  this.this$1 = this$1;
}

defineSeed(423, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), CellGridImpl$Cell$2_0);
_.onClick = function onClick_4(event_0){
  $setSelected(this.this$1.this$0, this.this$1);
}
;
_.this$1 = null;
function $clinit_DateBox(){
  $clinit_DateBox = nullMethod;
  DEFAULT_FORMAT = new DateBox$DefaultFormat_0;
}

function $parseDate(this$static, reportError){
  var text;
  reportError && setStyleName(this$static.element, 'dateBoxFormatError', false);
  text = $trim($getPropertyString(this$static.box.element, 'value'));
  return $parse_1(this$static.format, this$static, text, reportError);
}

function $preventDatePickerPopup(this$static){
  this$static.allowDPShow = false;
  $scheduleDeferred(($clinit_SchedulerImpl() , INSTANCE_0), new DateBox$1_0(this$static));
}

function $setValue(this$static, oldDate, date, fireEvents, updateText){
  !!date && $setCurrentMonth_0(this$static.picker, date);
  $setValue_0(this$static.picker, date, false);
  if (updateText) {
    setStyleName(this$static.element, 'dateBoxFormatError', false);
    $setText_0(this$static.box, $format_0(this$static.format, date));
  }
  fireEvents && !!TYPE_8 && oldDate != date && (!oldDate || !(!!date && eq(fromDouble(oldDate.jsdate.getTime()), fromDouble(date.jsdate.getTime())))) && $fireEvent(this$static, new DateChangeEvent_0(date));
}

function $showDatePicker(this$static){
  var current;
  current = $parseDate(this$static, false);
  !current && (current = new Date_1);
  $setCurrentMonth_0(this$static.picker, current);
  $showRelativeTo(this$static.popup, this$static);
}

function $updateDateFromTextBox(this$static){
  var parsedDate;
  parsedDate = $parseDate(this$static, true);
  !!parsedDate && $setValue(this$static, copyDate(this$static.picker.value_0), parsedDate, true, false);
}

function DateBox_0(){
  $clinit_DateBox();
  DateBox_1.call(this, new DatePicker_0, DEFAULT_FORMAT);
}

function DateBox_1(picker, format){
  var handler;
  this.box = new TextBox_0;
  this.picker = picker;
  this.popup = new PopupPanel_0;
  this.format = format;
  $addAutoHidePartner(this.popup, this.box.element);
  $setWidget_1(this.popup, picker);
  $setStyleName(this.popup, 'dateBoxPopup');
  $initWidget(this, this.box);
  this.element['className'] = 'gwt-DateBox';
  handler = new DateBox$DateBoxHandler_0(this);
  $addHandler(picker, handler, (!TYPE_8 && (TYPE_8 = new GwtEvent$Type_0) , TYPE_8));
  $addDomHandler(this.box, handler, ($clinit_FocusEvent() , $clinit_FocusEvent() , TYPE_3));
  $addDomHandler(this.box, handler, ($clinit_BlurEvent() , $clinit_BlurEvent() , TYPE_1));
  $addDomHandler(this.box, handler, ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_2));
  $addDomHandler(this.box, handler, ($clinit_KeyDownEvent() , $clinit_KeyDownEvent() , TYPE_4));
  this.box.autoDirHandler;
  $addHandler(this.popup, handler, TYPE_5?TYPE_5:(TYPE_5 = new GwtEvent$Type_0));
  $setValue(this, copyDate(this.picker.value_0), null, false, true);
}

defineSeed(424, 39, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), DateBox_0);
_.allowDPShow = true;
_.format = null;
_.picker = null;
_.popup = null;
var DEFAULT_FORMAT;
function DateBox$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(425, 1, {}, DateBox$1_0);
_.execute_0 = function execute_9(){
  this.this$0.allowDPShow = true;
}
;
_.this$0 = null;
function DateBox$DateBoxHandler_0(this$0){
  this.this$0 = this$0;
}

defineSeed(426, 1, makeCastMap([Q$BlurHandler, Q$ClickHandler, Q$FocusHandler, Q$KeyDownHandler, Q$CloseHandler, Q$ValueChangeHandler, Q$EventHandler]), DateBox$DateBoxHandler_0);
_.onClick = function onClick_5(event_0){
  $showDatePicker(this.this$0);
}
;
_.onClose = function onClose_1(event_0){
  this.this$0.allowDPShow && $updateDateFromTextBox(this.this$0);
}
;
_.onKeyDown = function onKeyDown_0(event_0){
  switch (event_0.nativeEvent.keyCode || 0) {
    case 13:
    case 9:
      $updateDateFromTextBox(this.this$0);
    case 27:
    case 38:
      $hide(this.this$0.popup);
      break;
    case 40:
      $showDatePicker(this.this$0);
  }
}
;
_.onValueChange = function onValueChange_1(event_0){
  $setValue(this.this$0, $parseDate(this.this$0, false), dynamicCast(event_0.getValue(), Q$Date), true, true);
  $hide(this.this$0.popup);
  $preventDatePickerPopup(this.this$0);
  $focus(this.this$0.box.element);
}
;
_.this$0 = null;
function $format_0(this$static, date){
  return !date?'':$format(this$static.dateTimeFormat, date, null);
}

function $parse_1(this$static, dateBox, dateText, reportError){
  var $e0, $e1, date;
  date = null;
  try {
    dateText.length > 0 && (date = $parse_0(this$static.dateTimeFormat, dateText));
  }
   catch ($e0) {
    $e0 = caught_0($e0);
    if (instanceOf($e0, Q$IllegalArgumentException)) {
      try {
        date = new Date_4(dateText);
      }
       catch ($e1) {
        $e1 = caught_0($e1);
        if (instanceOf($e1, Q$IllegalArgumentException)) {
          reportError && setStyleName(dateBox.element, 'dateBoxFormatError', true);
          return null;
        }
         else 
          throw $e1;
      }
    }
     else 
      throw $e0;
  }
  return date;
}

function DateBox$DefaultFormat_0(){
  this.dateTimeFormat = ($clinit_DateTimeFormat_0() , getFormat(($clinit_DateTimeFormat$PredefinedFormat() , DATE_TIME_MEDIUM)));
}

defineSeed(427, 1, {}, DateBox$DefaultFormat_0);
_.dateTimeFormat = null;
function DateChangeEvent_0(value){
  ValueChangeEvent_0.call(this, copyDate(value));
}

defineSeed(428, 237, {}, DateChangeEvent_0);
_.getValue = function getValue_0(){
  return copyDate(dynamicCast(this.value_0, Q$Date));
}
;
function $addStyleToDates(this$static, styleName, date){
  $setStyleName_3(this$static.styler, date, styleName, true);
  $isDateVisible(this$static, date) && $addStyleToDate(this$static.view, styleName, date);
}

function $getStyleOfDate(this$static, date){
  return $getStyleName(this$static.styler, date);
}

function $isDateVisible(this$static, date){
  var first, last, r;
  r = this$static.view;
  first = r.firstDisplayed;
  last = r.lastDisplayed;
  return !!date && (($clinit_CalendarUtil() , first.jsdate.getFullYear() - 1900 == date.jsdate.getFullYear() - 1900 && first.jsdate.getMonth() == date.jsdate.getMonth() && first.jsdate.getDate() == date.jsdate.getDate()) || last.jsdate.getFullYear() - 1900 == date.jsdate.getFullYear() - 1900 && last.jsdate.getMonth() == date.jsdate.getMonth() && last.jsdate.getDate() == date.jsdate.getDate() || lt(fromDouble(first.jsdate.getTime()), fromDouble(date.jsdate.getTime())) && gt(fromDouble(last.jsdate.getTime()), fromDouble(date.jsdate.getTime())));
}

function $refreshAll(this$static){
  $refresh(this$static.view);
  $refresh_0(this$static.monthSelector);
  $isAttached(this$static) && fire_2((this$static.view , this$static.view));
  $setAriaSelectedCell(this$static.view, this$static.value_0);
}

function $removeStyleFromDates(this$static, styleName, date){
  $setStyleName_3(this$static.styler, date, styleName, false);
  $isDateVisible(this$static, date) && $removeStyleFromDate(this$static.view, styleName, date);
}

function $setCurrentMonth_0(this$static, month){
  $setCurrentMonth(this$static.model, month);
  $refreshAll(this$static);
}

function $setStyleName_2(this$static, styleName){
  this$static.css = new DatePicker$StandardCss_0(styleName);
  this$static.element['className'] = styleName;
}

function $setValue_0(this$static, newValue, fireEvents){
  var oldValue;
  oldValue = this$static.value_0;
  !!oldValue && $removeStyleFromDates(this$static, this$static.css.baseName + 'DayIsValue', oldValue);
  this$static.value_0 = copyDate(newValue);
  !!this$static.value_0 && $addStyleToDates(this$static, this$static.css.baseName + 'DayIsValue', this$static.value_0);
  $setAriaSelectedCell(this$static.view, newValue);
  fireEvents && !!TYPE_8 && oldValue != newValue && (!oldValue || !(!!newValue && eq(fromDouble(oldValue.jsdate.getTime()), fromDouble(newValue.jsdate.getTime())))) && $fireEvent(this$static, new DateChangeEvent_0(newValue));
}

function DatePicker_0(){
  DatePicker_1.call(this, new DefaultMonthSelector_0, new DefaultCalendarView_0, new CalendarModel_0);
}

function DatePicker_1(monthSelector, view, model){
  var formatter, panel;
  this.styler = new DatePicker$DateStyler_0;
  this.css = ($clinit_DatePicker$StandardCss() , DEFAULT_0);
  this.model = model;
  this.monthSelector = monthSelector;
  monthSelector.datePicker = this;
  this.view = view;
  view.datePicker = this;
  $setup(view);
  monthSelector.backwards = new PushButton_0;
  $addDomHandler(monthSelector.backwards, new DefaultMonthSelector$1_0(monthSelector), ($clinit_ClickEvent() , $clinit_ClickEvent() , TYPE_2));
  $setHTML_0(monthSelector.backwards.up, '&laquo;');
  $setStyleName(monthSelector.backwards, monthSelector.datePicker.css.baseName + 'PreviousButton');
  monthSelector.forwards = new PushButton_0;
  $setHTML_0(monthSelector.forwards.up, '&raquo;');
  $setStyleName(monthSelector.forwards, monthSelector.datePicker.css.baseName + 'NextButton');
  $addDomHandler(monthSelector.forwards, new DefaultMonthSelector$2_0(monthSelector), TYPE_2);
  monthSelector.grid = new Grid_1;
  $setWidget(monthSelector.grid, 0, 0, monthSelector.backwards);
  $setWidget(monthSelector.grid, 0, 2, monthSelector.forwards);
  formatter = monthSelector.grid.cellFormatter;
  $setStyleName_1(formatter, 1, monthSelector.datePicker.css.baseName + 'Month');
  $prepareCell(formatter.this$0, 0, 0);
  formatter.this$0.bodyElem.rows[0].cells[0]['width'] = '1';
  $prepareCell(formatter.this$0, 0, 1);
  formatter.this$0.bodyElem.rows[0].cells[1]['width'] = '100%';
  $prepareCell(formatter.this$0, 0, 2);
  formatter.this$0.bodyElem.rows[0].cells[2]['width'] = '1';
  $setStyleName(monthSelector.grid, monthSelector.datePicker.css.baseName + 'MonthSelector');
  $initWidget(monthSelector, monthSelector.grid);
  panel = new VerticalPanel_0;
  $initWidget(this, panel);
  panel.element['className'] = this.css.widgetName;
  $setStyleName_2(this, this.css.widgetName);
  $add_5(panel, this.monthSelector);
  $add_5(panel, this.view);
  $setCurrentMonth_0(this, new Date_1);
  $addStyleToDates(this, this.css.baseName + 'DayIsToday', new Date_1);
}

defineSeed(429, 39, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), DatePicker_0);
_.onLoad = function onLoad_3(){
  fire_2(this.view);
}
;
_.model = null;
_.monthSelector = null;
_.value_0 = null;
_.view = null;
function DatePicker$DateHighlightEvent_0(){
}

defineSeed(430, 234, {}, DatePicker$DateHighlightEvent_0);
function $getStyleName(this$static, d){
  return dynamicCast($get_2(this$static.info, d.jsdate.getFullYear() - 1900 + '/' + d.jsdate.getMonth() + '/' + d.jsdate.getDate()), Q$String);
}

function $setStyleName_3(this$static, d, styleName, add){
  var current, key, newValue;
  styleName = ' ' + styleName + ' ';
  key = d.jsdate.getFullYear() - 1900 + '/' + d.jsdate.getMonth() + '/' + d.jsdate.getDate();
  current = dynamicCast($get_2(this$static.info, key), Q$String);
  if (add) {
    current == null?$put_0(this$static.info, key, styleName):current.indexOf(styleName) == -1 && $put_0(this$static.info, key, current + styleName);
  }
   else {
    if (current != null) {
      newValue = $replaceAll(current, styleName, '');
      $trim(newValue).length == 0?$remove_7(this$static.info, key):$put_0(this$static.info, key, newValue);
    }
  }
}

function DatePicker$DateStyler_0(){
  this.info = new HashMap_0;
}

defineSeed(431, 1, {}, DatePicker$DateStyler_0);
function $clinit_DatePicker$StandardCss(){
  $clinit_DatePicker$StandardCss = nullMethod;
  DEFAULT_0 = new DatePicker$StandardCss_0('gwt-DatePicker');
}

function DatePicker$StandardCss_0(widgetName){
  $clinit_DatePicker$StandardCss();
  this.widgetName = widgetName;
  this.baseName = 'datePicker';
}

defineSeed(432, 1, {}, DatePicker$StandardCss_0);
_.baseName = null;
_.widgetName = null;
var DEFAULT_0;
function $addStyleToDate(this$static, styleName, date){
  $addStyleName($getCell_0(this$static, date), styleName);
}

function $getCell_0(this$static, d){
  var cell, index;
  index = getDaysBetween(this$static.firstDisplayed, d);
  if (index < 0 || this$static.grid.cellList.size_0 <= index) {
    return null;
  }
  cell = $getCell(this$static.grid, index);
  if (cell.value_0.jsdate.getDate() != d.jsdate.getDate()) {
    throw new IllegalStateException_1(d + ' cannot be associated with cell ' + cell + ' as it has date ' + cell.value_0);
  }
  return cell;
}

function $refresh(this$static){
  var cell, i;
  this$static.firstDisplayed = $getCurrentFirstDayOfFirstWeek(this$static.datePicker.model);
  this$static.firstDisplayed.jsdate.getDate() == 1 && addDaysToDate(this$static.firstDisplayed, -7);
  $setTime_0(this$static.lastDisplayed, fromDouble(this$static.firstDisplayed.jsdate.getTime()));
  for (i = 0; i < this$static.grid.cellList.size_0; ++i) {
    i != 0 && addDaysToDate(this$static.lastDisplayed, 1);
    cell = $getCell(this$static.grid, i);
    $update_0(cell, this$static.lastDisplayed);
  }
  $setAriaSelectedCell(this$static, null);
}

function $removeStyleFromDate(this$static, styleName, date){
  $removeStyleName($getCell_0(this$static, date), styleName);
}

function $setAriaSelectedCell(this$static, date){
  var newSelectedCell;
  !!this$static.ariaSelectedCell && $setAriaSelected(this$static.ariaSelectedCell);
  newSelectedCell = date?$getCell_0(this$static, date):null;
  !!newSelectedCell && ($clinit_Roles() , $setAriaSelectedState(newSelectedCell.element, ($clinit_SelectedValue() , $clinit_SelectedValue() , TRUE_0)));
  this$static.ariaSelectedCell = newSelectedCell;
}

function $setup(this$static){
  var cell, column, dayIdx, formatter, i, row, shift, weekendEndColumn, weekendStartColumn;
  formatter = this$static.grid.cellFormatter;
  weekendStartColumn = -1;
  weekendEndColumn = -1;
  for (i = 0; i < 7; ++i) {
    shift = ($clinit_CalendarUtil() , $clinit_CalendarUtil() , startingDay);
    dayIdx = i + shift < 7?i + shift:i + shift - 7;
    $setText(this$static.grid, i, $formatDayOfWeek((this$static.datePicker , dayIdx)));
    if (dayIdx == firstDayOfWeekend || dayIdx == lastDayOfWeekend) {
      $setStyleName_1(formatter, i, this$static.datePicker.css.baseName + 'WeekendLabel');
      weekendStartColumn == -1?(weekendStartColumn = i):(weekendEndColumn = i);
    }
     else {
      $setStyleName_1(formatter, i, this$static.datePicker.css.baseName + 'WeekdayLabel');
    }
  }
  for (row = 1; row <= 6; ++row) {
    for (column = 0; column < 7; ++column) {
      cell = new DefaultCalendarView$CellGrid$DateCell_0(this$static.grid, column == weekendStartColumn || column == weekendEndColumn);
      $setWidget(this$static.grid, row, column, cell);
    }
  }
  $initWidget(this$static, this$static.grid);
  $setStyleName(this$static.grid, this$static.datePicker.css.baseName + 'Days');
}

function DefaultCalendarView_0(){
  this.grid = new DefaultCalendarView$CellGrid_0(this);
  this.lastDisplayed = new Date_1;
}

defineSeed(433, 418, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), DefaultCalendarView_0);
_.ariaSelectedCell = null;
_.firstDisplayed = null;
function DefaultCalendarView$CellGrid_0(this$0){
  this.this$0 = this$0;
  Grid_0.call(this);
  this.elementToCell = new ElementMapperImpl_0;
  this.cellList = new ArrayList_0;
  this.tableElem['cellPadding'] = 0;
  this.tableElem['cellSpacing'] = 0;
  this.tableElem['border'] = '0';
  this.eventsToSink == -1?sinkEvents(this.element, 49 | (this.element.__eventBits || 0)):(this.eventsToSink |= 49);
  $resizeColumns(this, 7);
  $resizeRows(this, 7);
}

defineSeed(434, 420, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$HasWidgets, Q$IsWidget, Q$UIObject, Q$Widget]), DefaultCalendarView$CellGrid_0);
_.this$0 = null;
function $addStyleName(this$static, styleName){
  $indexOf_0(this$static.dateStyle, ' ' + styleName + ' ') == -1 && (this$static.dateStyle += styleName + ' ');
  $updateStyle(this$static);
}

function $onHighlighted(this$static){
  $fireEvent(this$static.this$1.this$0.datePicker, new DatePicker$DateHighlightEvent_0);
  $updateStyle(this$static);
}

function $onSelected(this$static, selected){
  if (selected) {
    $setValue_0(this$static.this$1.this$0.datePicker, this$static.value_0, true);
    !$isInCurrentMonth(this$static.this$1.this$0.datePicker.model, this$static.value_0) && $setCurrentMonth_0(this$static.this$1.this$0.datePicker, this$static.value_0);
  }
  $updateStyle(this$static);
}

function $removeStyleName(this$static, styleName){
  this$static.dateStyle = $replace_1(this$static.dateStyle, ' ' + styleName + ' ');
  $updateStyle(this$static);
}

function $setAriaSelected(this$static){
  $clinit_Roles();
  $setAriaSelectedState(this$static.element, ($clinit_SelectedValue() , $clinit_SelectedValue() , FALSE_0));
}

function $update_0(this$static, current){
  var extraStyle, value;
  this$static.enabled = true;
  $updateStyle(this$static);
  $setTime_0(this$static.value_0, fromDouble(current.jsdate.getTime()));
  value = $formatDayOfMonth((this$static.this$1.this$0.datePicker , this$static.value_0));
  setInnerText(this$static.element, value);
  this$static.dateStyle = this$static.cellStyle;
  if ($isInCurrentMonth(this$static.this$1.this$0.datePicker.model, this$static.value_0)) {
    this$static.element.tabIndex = 0;
    extraStyle = $getStyleOfDate(this$static.this$1.this$0.datePicker, current);
    extraStyle != null && (this$static.dateStyle += ' ' + extraStyle);
  }
   else {
    this$static.element.tabIndex = -1;
    this$static.dateStyle += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsFiller';
  }
  this$static.dateStyle += ' ';
  $updateStyle(this$static);
}

function $updateStyle(this$static){
  var accum;
  accum = this$static.dateStyle;
  if (this$static == this$static.this$0.highlightedCell) {
    accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsHighlighted';
    this$static == this$static.this$0.highlightedCell && this$static.this$0.selectedCell == this$static && (accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsValueAndHighlighted');
  }
  this$static.enabled || (accum += ' ' + this$static.this$1.this$0.datePicker.css.baseName + 'DayIsDisabled');
  this$static.element['className'] = accum;
}

function DefaultCalendarView$CellGrid$DateCell_0(this$1, isWeekend){
  this.this$1 = this$1;
  CellGridImpl$Cell_1.call(this, this$1, new Date_1);
  this.cellStyle = this$1.this$0.datePicker.css.baseName + 'Day';
  isWeekend && (this.cellStyle += ' ' + this$1.this$0.datePicker.css.baseName + 'DayIsWeekend');
  $setTabIndex(this.element, $isInCurrentMonth(this.this$1.this$0.datePicker.model, this.value_0)?0:-1);
  $clinit_Roles();
  $setAriaSelectedState(this.element, ($clinit_SelectedValue() , $clinit_SelectedValue() , FALSE_0));
}

defineSeed(435, 421, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsWidget, Q$UIObject, Q$Widget, Q$CellGridImpl$Cell]), DefaultCalendarView$CellGrid$DateCell_0);
_.cellStyle = null;
_.dateStyle = null;
_.this$1 = null;
defineSeed(437, 419, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]));
function $refresh_0(this$static){
  var formattedMonth;
  formattedMonth = $formatCurrentMonth(this$static.datePicker.model);
  $setText(this$static.grid, 1, formattedMonth);
}

function DefaultMonthSelector_0(){
}

defineSeed(436, 437, makeCastMap([Q$HasAttachHandlers, Q$HasHandlers, Q$EventListener, Q$HasVisibility, Q$IsRenderable, Q$IsWidget, Q$UIObject, Q$Widget]), DefaultMonthSelector_0);
_.backwards = null;
_.forwards = null;
_.grid = null;
function DefaultMonthSelector$1_0(this$0){
  this.this$0 = this$0;
}

defineSeed(438, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), DefaultMonthSelector$1_0);
_.onClick = function onClick_6(event_0){
  $addMonths(this.this$0, -1);
}
;
_.this$0 = null;
function DefaultMonthSelector$2_0(this$0){
  this.this$0 = this$0;
}

defineSeed(439, 1, makeCastMap([Q$ClickHandler, Q$EventHandler]), DefaultMonthSelector$2_0);
_.onClick = function onClick_7(event_0){
  $addMonths(this.this$0, 1);
}
;
_.this$0 = null;
function $removeHandler(this$static){
  $doRemove(this$static.this$0, this$static.val$type, this$static.val$source, this$static.val$handler);
}

function SimpleEventBus$3_0(this$0, val$type, val$source, val$handler){
  this.this$0 = this$0;
  this.val$type = val$type;
  this.val$source = val$source;
  this.val$handler = val$handler;
}

defineSeed(445, 1, makeCastMap([Q$SimpleEventBus$Command]), SimpleEventBus$3_0);
_.execute_0 = function execute_11(){
  $doRemoveNow(this.this$0, this.val$type, this.val$source, this.val$handler);
}
;
_.this$0 = null;
_.val$handler = null;
_.val$source = null;
_.val$type = null;
function __parseAndValidateInt(s){
  var i, length_0, startIndex, toReturn;
  if (s == null) {
    throw new NumberFormatException_0('null');
  }
  length_0 = s.length;
  startIndex = length_0 > 0 && s.charCodeAt(0) == 45?1:0;
  for (i = startIndex; i < length_0; ++i) {
    if (digit_0(s.charCodeAt(i)) == -1) {
      throw new NumberFormatException_0('For input string: "' + s + '"');
    }
  }
  toReturn = parseInt(s, 10);
  if (isNaN(toReturn)) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
   else if (toReturn < -2147483648 || toReturn > 2147483647) {
    throw new NumberFormatException_0('For input string: "' + s + '"');
  }
  return toReturn;
}

function digit_0(c){
  if (c >= 48 && c < 58) {
    return c - 48;
  }
  if (c >= 97 && c < 97) {
    return c - 97 + 10;
  }
  if (c >= 65 && c < 65) {
    return c - 65 + 10;
  }
  return -1;
}

function max(y){
  return 5 > y?5:y;
}

function NumberFormatException_0(message){
  IllegalArgumentException_1.call(this, message);
}

defineSeed(468, 458, makeCastMap([Q$Serializable, Q$IllegalArgumentException, Q$RuntimeException, Q$Throwable]), NumberFormatException_0);
function $replace_1(this$static, from){
  var regex;
  regex = $replaceAll(from, '([/\\\\\\.\\*\\+\\?\\|\\(\\)\\[\\]\\{\\}$^])', '\\\\$1');
  return $replaceAll(this$static, regex, ' ');
}

function $replaceAll(this$static, regex, replace){
  replace = __translateReplaceString(replace);
  return this$static.replace(RegExp(regex, 'g'), replace);
}

function $startsWith(this$static, prefix, toffset){
  return !(toffset < 0 || toffset >= this$static.length) && this$static.indexOf(prefix, toffset) == toffset;
}

function __translateReplaceString(replaceStr){
  var pos;
  pos = 0;
  while (0 <= (pos = replaceStr.indexOf('\\', pos))) {
    replaceStr.charCodeAt(pos + 1) == 36?(replaceStr = replaceStr.substr(0, pos - 0) + '$' + $substring(replaceStr, ++pos)):(replaceStr = replaceStr.substr(0, pos - 0) + $substring(replaceStr, ++pos));
  }
  return replaceStr;
}

function valueOf_5(x){
  return String.fromCharCode.apply(null, x);
}

function $append_3(this$static, x){
  $appendNonNull(this$static.data, valueOf_5(x));
  return this$static;
}

function StringBuffer_1(){
  $$init(this);
}

defineSeed(473, 1, makeCastMap([Q$CharSequence]), StringBuffer_1);
function Date_6(date){
  Date_3.call(this, date);
}

defineSeed(477, 270, makeCastMap([Q$Serializable, Q$Comparable, Q$Date]), Date_6);
_.getHours_0 = function getHours_0(){
  throw new IllegalArgumentException_0;
}
;
_.getMinutes_0 = function getMinutes_0(){
  throw new IllegalArgumentException_0;
}
;
_.getSeconds_0 = function getSeconds_0(){
  throw new IllegalArgumentException_0;
}
;
_.setHours_0 = function setHours_1(i){
  throw new IllegalArgumentException_0;
}
;
_.setMinutes_0 = function setMinutes_1(i){
  throw new IllegalArgumentException_0;
}
;
_.setSeconds_0 = function setSeconds_1(i){
  throw new IllegalArgumentException_0;
}
;
_.toString$ = function toString_23(){
  return '' + (1900 + (this.jsdate.getFullYear() - 1900)) + '-' + padTwo(this.jsdate.getMonth() + 1) + '-' + padTwo(this.jsdate.getDate());
}
;
defineSeed(478, 1, {});
_.isEmpty = function isEmpty(){
  return this.size_1() == 0;
}
;
_.remove_1 = function remove_10(o){
  var iter;
  iter = $advanceToFind(this.iterator(), o);
  if (iter) {
    iter.remove_0();
    return true;
  }
   else {
    return false;
  }
}
;
defineSeed(480, 1, makeCastMap([Q$Map]));
_.isEmpty = function isEmpty_0(){
  return this.size_1() == 0;
}
;
_.remove_2 = function remove_11(key){
  var entry;
  entry = $implFindEntry(this, key, true);
  return !entry?null:entry.getValue();
}
;
defineSeed(479, 480, makeCastMap([Q$Map]));
_.remove_2 = function remove_12(key){
  return $remove_7(this, key);
}
;
defineSeed(481, 482, makeCastMap([Q$Set]));
_.remove_1 = function remove_13(entry){
  var key;
  if ($contains(this, entry)) {
    key = dynamicCast(entry, Q$Map$Entry).getKey();
    $remove_7(this.this$0, key);
    return true;
  }
  return false;
}
;
defineSeed(483, 1, {});
_.remove_0 = function remove_14(){
  $remove_8(this);
}
;
defineSeed(488, 1, {});
_.remove_0 = function remove_16(){
  $remove_9(this);
}
;
defineSeed(491, 1, {});
_.remove_0 = function remove_17(){
  $remove_8(this.val$outerIter);
}
;
function $toArray(this$static, out){
  var i;
  out.length < this$static.size_0 && (out = createFrom(out, this$static.size_0));
  for (i = 0; i < this$static.size_0; ++i) {
    setCheck(out, i, this$static.array[i]);
  }
  out.length > this$static.size_0 && setCheck(out, this$static.size_0, null);
  return out;
}

defineSeed(492, 487, makeCastMap([Q$Serializable, Q$List]));
_.isEmpty = function isEmpty_1(){
  return this.size_0 == 0;
}
;
_.remove_1 = function remove_19(o){
  return $remove_11(this, o);
}
;
function $clinit_Date$StringData(){
  $clinit_Date$StringData = nullMethod;
  DAYS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']);
  MONTHS = initValues(_3Ljava_lang_String_2_classLit, makeCastMap([Q$Serializable, Q$Object_$1]), Q$String, ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
}

var DAYS, MONTHS;
defineSeed(497, 482, makeCastMap([Q$Serializable, Q$Set]));
_.isEmpty = function isEmpty_2(){
  return this.map.size_0 == 0;
}
;
_.remove_1 = function remove_20(o){
  return $remove_12(this, o);
}
;
var Lcom_google_web_bindery_event_shared_SimpleEventBus$3_2_classLit = createForClass('com.google.web.bindery.event.shared.', 'SimpleEventBus$3', 445), Ljava_util_Date_2_classLit = createForClass('java.util.', 'Date', 270), Lcom_google_gwt_core_client_Duration_2_classLit = createForClass('com.google.gwt.core.client.', 'Duration', 144), Lcom_google_gwt_core_client_impl_SchedulerImpl$Flusher_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Flusher', 167), Lcom_google_gwt_core_client_impl_SchedulerImpl$Rescuer_2_classLit = createForClass('com.google.gwt.core.client.impl.', 'SchedulerImpl$Rescuer', 168), Lcom_arsl_client_event_GotoPageTaggerEvent_2_classLit = createForClass('com.arsl.client.event.', 'GotoPageTaggerEvent', 27), Lcom_google_gwt_user_client_impl_WindowImplIE$2_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'WindowImplIE$2', 314), Lcom_google_gwt_user_client_Event$NativePreviewEvent_2_classLit = createForClass('com.google.gwt.user.client.', 'Event$NativePreviewEvent', 300), Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit', 204, values_4), _3Lcom_google_gwt_dom_client_Style$Unit_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Unit;', 523), Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display', 194, values_2), _3Lcom_google_gwt_dom_client_Style$Display_2_classLit = createForArray('[Lcom.google.gwt.dom.client.', 'Style$Display;', 524), Lcom_google_gwt_dom_client_Style$Unit$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$1', 205, null), Lcom_google_gwt_dom_client_Style$Unit$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$2', 206, null), Lcom_google_gwt_dom_client_Style$Unit$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$3', 207, null), Lcom_google_gwt_dom_client_Style$Unit$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$4', 208, null), Lcom_google_gwt_dom_client_Style$Unit$5_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$5', 209, null), Lcom_google_gwt_dom_client_Style$Unit$6_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$6', 210, null), Lcom_google_gwt_dom_client_Style$Unit$7_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$7', 211, null), Lcom_google_gwt_dom_client_Style$Unit$8_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$8', 212, null), Lcom_google_gwt_dom_client_Style$Unit$9_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Unit$9', 213, null), Lcom_google_gwt_dom_client_Style$Display$1_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$1', 195, null), Lcom_google_gwt_dom_client_Style$Display$2_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$2', 196, null), Lcom_google_gwt_dom_client_Style$Display$3_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$3', 197, null), Lcom_google_gwt_dom_client_Style$Display$4_2_classLit = createForEnum('com.google.gwt.dom.client.', 'Style$Display$4', 198, null), Lcom_arsl_client_view_CreateARPageView_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView', 43), Lcom_arsl_client_presenter_CreateArPagePresenter_2_classLit = createForClass('com.arsl.client.presenter.', 'CreateArPagePresenter', 31), Lcom_arsl_client_presenter_CreateArPagePresenter$1_2_classLit = createForClass('com.arsl.client.presenter.', 'CreateArPagePresenter$1', 32), Lcom_arsl_client_presenter_CreateArPagePresenter$2_2_classLit = createForClass('com.arsl.client.presenter.', 'CreateArPagePresenter$2', 33), Lcom_arsl_client_presenter_CreateArPagePresenter$2$1_2_classLit = createForClass('com.arsl.client.presenter.', 'CreateArPagePresenter$2$1', 34), Lcom_google_gwt_user_client_ui_CaptionPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CaptionPanel', 362), Lcom_arsl_client_view_CreateARPageView_1CreateARPageUiBinderImpl$Widgets_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView_CreateARPageUiBinderImpl$Widgets', 44), Lcom_arsl_client_view_CreateARPageView_1CreateARPageUiBinderImpl$Widgets$1_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView_CreateARPageUiBinderImpl$Widgets$1', 45), Lcom_arsl_client_view_CreateARPageView_1CreateARPageUiBinderImpl$Widgets$2_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView_CreateARPageUiBinderImpl$Widgets$2', 46), Lcom_google_gwt_event_dom_client_KeyEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyEvent', 229), Lcom_google_gwt_event_dom_client_KeyCodeEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyCodeEvent', 228), Lcom_arsl_client_view_CreateARPageView_1CreateARPageUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator', 47), Lcom_arsl_client_view_CreateARPageView_1CreateARPageUiBinderImpl_1GenBundle_1default_1InlineClientBundleGenerator$1_2_classLit = createForClass('com.arsl.client.view.', 'CreateARPageView_CreateARPageUiBinderImpl_GenBundle_default_InlineClientBundleGenerator$1', 48), Lcom_google_gwt_user_client_ui_ListBox_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'ListBox', 386), Ljava_lang_NumberFormatException_2_classLit = createForClass('java.lang.', 'NumberFormatException', 468), Lcom_google_gwt_user_datepicker_client_DateBox_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox', 424), Lcom_google_gwt_user_datepicker_client_DateBox$DefaultFormat_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$DefaultFormat', 427), Lcom_google_gwt_user_datepicker_client_DateBox$DateBoxHandler_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$DateBoxHandler', 426), Lcom_google_gwt_user_datepicker_client_DateBox$1_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateBox$1', 425), Lcom_google_gwt_user_client_ui_Image_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image', 380), Lcom_google_gwt_user_client_ui_Image$State_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State', 381), Lcom_google_gwt_user_client_ui_Image$UnclippedState_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$UnclippedState', 383), Lcom_google_gwt_user_client_ui_Image$State$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Image$State$1', 382), Lcom_google_gwt_user_client_ui_SimplePanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel', 392), Lcom_google_gwt_user_client_ui_SimplePanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'SimplePanel$1', 404), Lcom_google_gwt_safehtml_shared_SafeUriString_2_classLit = createForClass('com.google.gwt.safehtml.shared.', 'SafeUriString', 288), Lcom_google_gwt_user_datepicker_client_DatePicker_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker', 429), Lcom_google_gwt_user_datepicker_client_DatePicker$StandardCss_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$StandardCss', 432), Lcom_google_gwt_event_logical_shared_HighlightEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'HighlightEvent', 234), Lcom_google_gwt_user_datepicker_client_DatePicker$DateHighlightEvent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$DateHighlightEvent', 430), Lcom_google_gwt_user_datepicker_client_DatePicker$DateStyler_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePicker$DateStyler', 431), Lcom_google_gwt_user_datepicker_client_DatePickerComponent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DatePickerComponent', 419), Lcom_google_gwt_user_datepicker_client_MonthSelector_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'MonthSelector', 437), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector', 436), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$1_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector$1', 438), Lcom_google_gwt_user_datepicker_client_DefaultMonthSelector$2_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultMonthSelector$2', 439), Lcom_google_gwt_user_datepicker_client_CalendarView_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CalendarView', 418), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView', 433), Lcom_google_gwt_user_client_ui_HTMLTable_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable', 370), Lcom_google_gwt_user_client_ui_Grid_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'Grid', 369), Lcom_google_gwt_user_datepicker_client_CellGridImpl_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl', 420), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView$CellGrid', 434), Lcom_google_gwt_user_datepicker_client_CellGridImpl$Cell_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl$Cell', 421), Lcom_google_gwt_user_datepicker_client_DefaultCalendarView$CellGrid$DateCell_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DefaultCalendarView$CellGrid$DateCell', 435), Lcom_google_gwt_user_datepicker_client_CellGridImpl$Cell$1_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl$Cell$1', 422), Lcom_google_gwt_user_datepicker_client_CellGridImpl$Cell$2_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CellGridImpl$Cell$2', 423), Lcom_google_gwt_user_client_ui_HTMLTable$CellFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$CellFormatter', 373), Lcom_google_gwt_user_client_ui_HTMLTable$ColumnFormatter_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$ColumnFormatter', 374), Lcom_google_gwt_user_client_ui_HTMLTable$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'HTMLTable$1', 372), Lcom_google_gwt_user_datepicker_client_CalendarModel_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'CalendarModel', 416), Lcom_google_gwt_user_client_ui_PopupPanel_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel', 391), Lcom_google_gwt_animation_client_Animation_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation', 65), Lcom_google_gwt_user_client_ui_PopupPanel$ResizeAnimation_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$ResizeAnimation', 397), Lcom_google_gwt_user_client_ui_PopupPanel$1_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$1', 393), Lcom_google_gwt_user_client_ui_PopupPanel$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$2', 394), Lcom_google_gwt_user_client_ui_PopupPanel$3_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$3', 395), Lcom_google_gwt_user_client_ui_PopupPanel$4_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PopupPanel$4', 396), Lcom_google_gwt_animation_client_Animation$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'Animation$1', 66), Lcom_google_gwt_animation_client_AnimationScheduler_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler', 67), Lcom_google_gwt_animation_client_AnimationScheduler$AnimationHandle_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationScheduler$AnimationHandle', 68), Lcom_google_gwt_i18n_shared_DateTimeFormat_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DateTimeFormat', 259), Lcom_google_gwt_i18n_shared_DateTimeFormat$PatternPart_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DateTimeFormat$PatternPart', 268), Lcom_google_gwt_i18n_client_DateTimeFormat_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DateTimeFormat', 258), Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForEnum('com.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat', 260, values_5), _3Lcom_google_gwt_i18n_client_DateTimeFormat$PredefinedFormat_2_classLit = createForArray('[Lcom.google.gwt.i18n.client.', 'DateTimeFormat$PredefinedFormat;', 528), Lcom_google_gwt_event_dom_client_FocusEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'FocusEvent', 227), Lcom_google_gwt_event_dom_client_BlurEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'BlurEvent', 219), Lcom_google_gwt_event_dom_client_KeyDownEvent_2_classLit = createForClass('com.google.gwt.event.dom.client.', 'KeyDownEvent', 230), Lcom_google_gwt_user_client_ui_CustomButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton', 365), Lcom_google_gwt_user_client_ui_PushButton_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'PushButton', 399), Lcom_google_gwt_user_client_ui_CustomButton$Face_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$Face', 367), Lcom_google_gwt_user_client_ui_CustomButton$2_2_classLit = createForClass('com.google.gwt.user.client.ui.', 'CustomButton$2', 366), Lcom_google_gwt_user_datepicker_client_DateChangeEvent_2_classLit = createForClass('com.google.gwt.user.datepicker.client.', 'DateChangeEvent', 428), Lcom_google_gwt_i18n_shared_DefaultDateTimeFormatInfo_2_classLit = createForClass('com.google.gwt.i18n.shared.', 'DefaultDateTimeFormatInfo', 262), Lcom_google_gwt_i18n_client_DefaultDateTimeFormatInfo_2_classLit = createForClass('com.google.gwt.i18n.client.', 'DefaultDateTimeFormatInfo', 261), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl', 266), Lcom_google_gwt_user_client_impl_ElementMapperImpl_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl', 308), Lcom_google_gwt_user_client_impl_ElementMapperImpl$FreeNode_2_classLit = createForClass('com.google.gwt.user.client.impl.', 'ElementMapperImpl$FreeNode', 309), Lcom_google_gwt_i18n_client_impl_cldr_DateTimeFormatInfoImpl_1en_2_classLit = createForClass('com.google.gwt.i18n.client.impl.cldr.', 'DateTimeFormatInfoImpl_en', 267), Lcom_google_gwt_i18n_client_TimeZone_2_classLit = createForClass('com.google.gwt.i18n.client.', 'TimeZone', 265), Lcom_google_gwt_aria_client_SelectedValue_2_classLit = createForEnum('com.google.gwt.aria.client.', 'SelectedValue', 128, values_1), _3Lcom_google_gwt_aria_client_SelectedValue_2_classLit = createForArray('[Lcom.google.gwt.aria.client.', 'SelectedValue;', 529), Lcom_google_gwt_event_logical_shared_ResizeEvent_2_classLit = createForClass('com.google.gwt.event.logical.shared.', 'ResizeEvent', 235), Lcom_google_gwt_aria_client_RoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RoleImpl', 75), Lcom_google_gwt_aria_client_AlertdialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertdialogRoleImpl', 76), Lcom_google_gwt_aria_client_AlertRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'AlertRoleImpl', 74), Lcom_google_gwt_aria_client_ApplicationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ApplicationRoleImpl', 77), Lcom_google_gwt_aria_client_ArticleRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ArticleRoleImpl', 80), Lcom_google_gwt_aria_client_BannerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'BannerRoleImpl', 81), Lcom_google_gwt_aria_client_ButtonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ButtonRoleImpl', 82), Lcom_google_gwt_aria_client_PressedValue_2_classLit = createForEnum('com.google.gwt.aria.client.', 'PressedValue', 115, values_0), _3Lcom_google_gwt_aria_client_PressedValue_2_classLit = createForArray('[Lcom.google.gwt.aria.client.', 'PressedValue;', 530), Lcom_google_gwt_aria_client_CheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'CheckboxRoleImpl', 83), Lcom_google_gwt_aria_client_ColumnheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ColumnheaderRoleImpl', 84), Lcom_google_gwt_aria_client_ComboboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComboboxRoleImpl', 85), Lcom_google_gwt_aria_client_ComplementaryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ComplementaryRoleImpl', 86), Lcom_google_gwt_aria_client_ContentinfoRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ContentinfoRoleImpl', 87), Lcom_google_gwt_aria_client_DefinitionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DefinitionRoleImpl', 88), Lcom_google_gwt_aria_client_DialogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DialogRoleImpl', 89), Lcom_google_gwt_aria_client_DirectoryRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DirectoryRoleImpl', 90), Lcom_google_gwt_aria_client_DocumentRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'DocumentRoleImpl', 91), Lcom_google_gwt_aria_client_FormRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'FormRoleImpl', 92), Lcom_google_gwt_aria_client_GridcellRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridcellRoleImpl', 94), Lcom_google_gwt_aria_client_GridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GridRoleImpl', 93), Lcom_google_gwt_aria_client_GroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'GroupRoleImpl', 95), Lcom_google_gwt_aria_client_HeadingRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'HeadingRoleImpl', 96), Lcom_google_gwt_aria_client_ImgRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ImgRoleImpl', 97), Lcom_google_gwt_aria_client_LinkRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LinkRoleImpl', 98), Lcom_google_gwt_aria_client_ListboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListboxRoleImpl', 100), Lcom_google_gwt_aria_client_ListitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListitemRoleImpl', 101), Lcom_google_gwt_aria_client_ListRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ListRoleImpl', 99), Lcom_google_gwt_aria_client_LogRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'LogRoleImpl', 102), Lcom_google_gwt_aria_client_MainRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MainRoleImpl', 103), Lcom_google_gwt_aria_client_MarqueeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MarqueeRoleImpl', 104), Lcom_google_gwt_aria_client_MathRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MathRoleImpl', 105), Lcom_google_gwt_aria_client_MenubarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenubarRoleImpl', 107), Lcom_google_gwt_aria_client_MenuitemcheckboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemcheckboxRoleImpl', 109), Lcom_google_gwt_aria_client_MenuitemradioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemradioRoleImpl', 110), Lcom_google_gwt_aria_client_MenuitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuitemRoleImpl', 108), Lcom_google_gwt_aria_client_MenuRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'MenuRoleImpl', 106), Lcom_google_gwt_aria_client_NavigationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NavigationRoleImpl', 111), Lcom_google_gwt_aria_client_NoteRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'NoteRoleImpl', 112), Lcom_google_gwt_aria_client_OptionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'OptionRoleImpl', 113), Lcom_google_gwt_aria_client_PresentationRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'PresentationRoleImpl', 114), Lcom_google_gwt_aria_client_ProgressbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ProgressbarRoleImpl', 118), Lcom_google_gwt_aria_client_RadiogroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadiogroupRoleImpl', 120), Lcom_google_gwt_aria_client_RadioRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RadioRoleImpl', 119), Lcom_google_gwt_aria_client_RegionRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RegionRoleImpl', 121), Lcom_google_gwt_aria_client_RowgroupRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowgroupRoleImpl', 124), Lcom_google_gwt_aria_client_RowheaderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowheaderRoleImpl', 125), Lcom_google_gwt_aria_client_RowRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'RowRoleImpl', 123), Lcom_google_gwt_aria_client_ScrollbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ScrollbarRoleImpl', 126), Lcom_google_gwt_aria_client_SearchRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SearchRoleImpl', 127), Lcom_google_gwt_aria_client_SeparatorRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SeparatorRoleImpl', 129), Lcom_google_gwt_aria_client_SliderRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SliderRoleImpl', 130), Lcom_google_gwt_aria_client_SpinbuttonRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'SpinbuttonRoleImpl', 131), Lcom_google_gwt_aria_client_StatusRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'StatusRoleImpl', 133), Lcom_google_gwt_aria_client_TablistRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TablistRoleImpl', 135), Lcom_google_gwt_aria_client_TabpanelRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabpanelRoleImpl', 136), Lcom_google_gwt_aria_client_TabRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TabRoleImpl', 134), Lcom_google_gwt_aria_client_TextboxRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TextboxRoleImpl', 137), Lcom_google_gwt_aria_client_TimerRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TimerRoleImpl', 138), Lcom_google_gwt_aria_client_ToolbarRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'ToolbarRoleImpl', 139), Lcom_google_gwt_aria_client_TooltipRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TooltipRoleImpl', 140), Lcom_google_gwt_aria_client_TreegridRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreegridRoleImpl', 142), Lcom_google_gwt_aria_client_TreeitemRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeitemRoleImpl', 143), Lcom_google_gwt_aria_client_TreeRoleImpl_2_classLit = createForClass('com.google.gwt.aria.client.', 'TreeRoleImpl', 141), Lcom_google_gwt_i18n_shared_impl_DateRecord_2_classLit = createForClass('com.google.gwt.i18n.shared.impl.', 'DateRecord', 269), Lcom_google_gwt_animation_client_AnimationSchedulerImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImpl', 69), Lcom_google_gwt_aria_client_Attribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'Attribute', 79), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer', 70), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl', 73), _3Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$AnimationHandleImpl_2_classLit = createForArray('[Lcom.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$AnimationHandleImpl;', 531), Lcom_google_gwt_animation_client_AnimationSchedulerImplTimer$1_2_classLit = createForClass('com.google.gwt.animation.client.', 'AnimationSchedulerImplTimer$1', 71), Lcom_google_gwt_aria_client_PrimitiveValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'PrimitiveValueAttribute', 117), Lcom_google_gwt_aria_client_AriaValueAttribute_2_classLit = createForClass('com.google.gwt.aria.client.', 'AriaValueAttribute', 78);
$entry(onLoad_0)(1);
